首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有使用外键的此类列

问没有使用外键的此类列
EN

Stack Overflow用户
提问于 2016-06-26 15:33:27
回答 1查看 567关注 0票数 0

我想用不同的ID (CustomerID,OrderID)连接到数据库中的表。我使用以下代码创建我的外键:

代码语言:javascript
复制
FOREIGN KEY("+ COLUMN_ORDER_ID + ") REFERENCES+TABLE_NAME_CUSTOMER + "(" + COLUMN_CUSTOMER_ID + "));";

我没有发布完整的源代码,因为我的第一个表工作得很好,我认为问题在于外键。

我使用以下方法过滤数据:

代码语言:javascript
复制
public List<Orders> getOrdersByCustomerID() {
    List<Orders> orderList = new ArrayList<Orders>();
    String query = "select " + COLUMN_ORDER_ID
            + "," + COLUMN_ORDER_NAME
            + "," + COLUMN_SETS
            + "," + COLUMN_REPEATS
            + "," + COLUMN_SECTION
            + " from " + TABLE_NAME_ORDERS
            + " where " + COLUMN_CUSTOMER_ID
            + "=" + COLUMN_ORDER_ID;
    db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery(query, null);
    if (cursor.moveToFirst()) {
        do {
            Orders orders = new Orders(cursor.getString(0), cursor.getString(1), cursor.getInt(2), cursor.getInt(3), cursor.getString(4));
            orderList.add(orders);
        } while (cursor.moveToNext());
    }
    db.close();
    return orderList;
}

我收到以下错误消息:

06-26 17:11:26.154 10163-10163/com.xxx.xx.xxx E/AndroidRuntime:致命异常:主进程: com.xxx.xxx.xxx,PID: 10163 java.lang.RuntimeException:无法启动活动android.database.sqlite.SQLiteException:没有这样的列: customerId(Sqlite 1):,在编译时:选择orderId、orderName、sets、repeats、orders (OS error -2:没有这样的文件或目录)

我认为这两个id之间的连接是不正确的,还是必须从我的customer表中提交id?有小费吗?根据我的理解,一个Customer可以有多个Order,这就是我使用外键的原因,我希望这是正确的。

EN

回答 1

Stack Overflow用户

发布于 2016-06-26 15:43:43

编辑:我错了,显然在mysql中查询是不区分大小写的。

编辑:为了创建外键,两个表都必须包含ConsumerId。这允许您使用外键建立关系。在创建外键之后,您的查询必须更改为wel。应该是这样的

代码语言:javascript
复制
select " + COLUMN_ORDER_IDq
        + "," + COLUMN_ORDER_NAME
        + "," + COLUMN_SETS
        + "," + COLUMN_REPEATS
        + "," + COLUMN_SECTION
        + " from " + TABLE_NAME_ORDERS + "," + TABLE_NAME_CUSTOMERS
        + " where " + TABLE_NAME_ORDERS +"." + COLUMN_CUSTOMER_ID
        + "=" + TABLE_NAME_CUSTOMERS + "." + COLUMN_CUSTOMER_ID
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38040114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档