gpt4 book ai didi

android - 如何获取多列主键的唯一 _id 列?

转载 作者:搜寻专家 更新时间:2023-10-30 20:54:59 25 4
gpt4 key购买 nike

根据一些博客,如 http://reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/甚至在这里的一些答案中。

将数据库包含到项目中之前的第一步是将表的主要 id 字段重命名为“_id”,这样 Android 就会知道在哪里绑定(bind)表的 id 字段。

应该如何处理具有组合主键的表假设我正在创建产品 ID 和商店 ID 之间的关系来分配它的价格。

CREATE TABLE `Products-Stores` (
`product` INTEGER NOT NULL,
`store` INTEGER NOT NULL,
`price` INTEGER NOT NULL,
PRIMARY KEY(product,store)
);

最佳答案

无需重命名数据库中的任何列。 SQL 允许这样的列别名:

SELECT integer_primary_key AS _id 
...

只有在您使用 ListAdapter 显示从您的数据库查询的游标内容时才需要这样做。您必须有一个整数主键列,在游标中名为“_id”,才能做到这一点

更好的是,每个 SQLite 数据库表都有一个名为“rowid”的隐式列。您甚至不必拥有自己的整数主键列。只需使用 rowid,如下所示:

SELECT rowid AS _id 
...

编辑以包括@CL 对工作连接的解释

很明显,这个技巧对许多类型的连接都不起作用。不过,只要 rowid 在联接中的所有行中都是唯一的,它就可以正常工作。

关于android - 如何获取多列主键的唯一 _id 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26154253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com