SQLite Android 的表名限制是什么?

9

可能我的问题有些琐碎,但是我想知道在SQLite中有没有特定的表名或字段名长度限制,尤其是在Android中。据我所知,在Oracle数据库中仍然存在类似的问题。


我认为这些是sqlite中唯一的限制。请仔细阅读它。 - Chirag
官方文档是最好的资源,尽管在一般情况下,SQLite 在限制方面非常宽松,所以在大多数情况下你不需要担心。但是,使用32KB名称或十亿个表格是否是一个好决定则是另外一回事。请记住,仅仅因为SQLite的限制很宽松,你可能需要将数据迁移到另一个系统或应用程序中,而这些系统或应用程序可能会更加严格。 - Beejor
2个回答

8

3

在sqlite文档中没有特定的限制,但需要注意以下几点:

  • 名称长度在1到128个字节之间
  • 必须以字母开头
  • 避免使用SQL保留字
  • 不要使用空格

4
为什么?如果没有限制,为什么要限制在128字节内? Why? If there are no limitations, why restrict to 128 bytes? - Redwarp
我创建了一个名为9090909090_89898989898的表,并且它给我抛出了以下异常信息:01-30 01:49:00.859: E/AndroidRuntime(30731): android.database.sqlite.SQLiteException: unrecognized token: "9090909090_89898989898" (code 1): , while compiling: CREATE TABLE IF NOT EXISTS 9090909090_89898989898 (_id NUMERIC PRIMARY KEY, ts NUMERIC, from TEXT, to TEXT, message TEXT, status TEXT) - Ashu
1
最佳实践是将变量名尽可能保持简短和明确,但这取决于应用程序或所用的语言(对于多字节编码或拥有更长单词的方言而言,128个字符可能不足)。此外,这也更加兼容其他可能有更严格限制的数据库系统。 - Beejor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接