创建带“_”的表与创建不带“_”的表一样吗?
Posted
技术标签:
【中文标题】创建带“_”的表与创建不带“_”的表一样吗?【英文标题】:Is creating a table with a "_" the same thing as creating a table without a "_"? 【发布时间】:2021-08-07 22:16:06 【问题描述】:我习惯在 SQL 中这样创建表:
String createItems = "CREATE TABLE items(id INTEGER PRIMARY KEY AUTOINCREMENT, ...)
...但是在我正在观看的视频中,导师创建了一个带有“_”的表格:
String createItems = "CREATE TABLE items(_id INTEGER PRIMARY KEY AUTOINCREMENT, ...)
这是一样的,还是有什么不同? 谢谢!
【问题讨论】:
【参考方案1】:_id
主键命名的约定来自CursorAdapter
,它要求在游标中(不一定在表中)有一个具有该名称的列。
除此之外,它只是一个列的标识符。
【讨论】:
嗨,谢谢。所以在我们没有“_”的情况下,我们向游标查询类似: String myQuery = "SELECT * FROM items ORDER BY id ASC" 然后说 Cursor cursor = db.rawQuery(myQuery, null) ,我们会得到一个错误吗?谢谢 对不起,没关系。在这种情况下,我们不会尝试使用 CursorAdapter 将数据从 Cursor 放入 ListView。【参考方案2】:你认为错在_id
吗?
这只是一个列名,你可以随意命名
【讨论】:
不,为什么需要“_”;我知道你可以随意命名列。 不需要。这是视频中的人使用的前缀,仅此而已。你正在学习一个教程,你接受它的想法,而不是一个字一个字。 好吧,我只是好奇。谢谢。以上是关于创建带“_”的表与创建不带“_”的表一样吗?的主要内容,如果未能解决你的问题,请参考以下文章