SQLite 中的有效表名是什么?

新手上路,请多包涵

SQLite 中表名的有效字符组合是什么?字母数字(AZ、az 和 0-9)的所有组合是否构成有效名称?

 Ex. CREATE TABLE 123abc(...);

字母数字与破折号“-”和句点“.”的组合怎么样,这也有效吗?

 Ex. CREATE TABLE 123abc.txt(...);
Ex. CREATE TABLE 123abc-ABC.txt(...);

谢谢你。

原文由 David 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 835
2 个回答

我还没有找到它的参考,但是有效的表名不使用括号括起来应该是任何不以数字开头的字母数字组合:

 abc123 - valid
123abc - not valid
abc_123 - valid
_123abc - valid
abc-abc - not valid (looks like an expression)
abc.abc - not valid (looks like a database.table notation)

使用括号,您应该可以使用几乎任何东西作为表名:

 [This should-be a_valid.table+name!?]

原文由 Guffa 发布,翻译遵循 CC BY-SA 2.5 许可协议

每个 Clemens 在 sqlite-users 邮件列表中:

一切都是允许的,除了以“sqlite_”开头的名字。

 CREATE TABLE "TABLE"("#!@""'☺\", "");

您可以使用关键字 (“TABLE”)、特殊字符 (“”#!@“”‘☺\”),甚至是空字符串 (“”)。

原文由 eric.mcgregor 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进