猿问

SQLite中有效的表名是什么?

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


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

字母数字与破折号“-”和句点“。”的组合也有效吗?


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

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

谢谢。


慕哥9229398
浏览 1486回答 3
3回答

撒科打诨

我没有找到参考,但是在不使用方括号的情况下有效的表名应该是任何不以数字开头的字母数字组合:abc123 - valid123abc - not validabc_123 - valid_123abc - validabc-abc - not valid (looks like an expression)abc.abc - not valid (looks like a database.table notation)使用方括号,您应该几乎可以使用任何东西作为表名:[This should-be a_valid.table+name!?]

精慕HU

所有这些都被允许,但是您可能必须在中引用它们""。sqlite> CREATE TABLE "123abc"(col);sqlite> CREATE TABLE "123abc.txt"(col);sqlite> CREATE TABLE "123abc-ABC.txt"(col);sqlite> select tbl_name from sqlite_master;123abc123abc.txt123abc-ABC.txt通常,您应该坚持字母。

幕布斯7119047

sqlite-users邮件列表上的Per Clemens:允许所有内容,但以“ sqlite_”开头的名称除外。CREATE TABLE "TABLE"("#!@""'☺\", "");您可以使用关键字(“ TABLE”),特殊字符(“”#!@“”'☺\“)甚至空字符串(”“)。
随时随地看视频慕课网APP
我要回答