3 回答
TA贡献1934条经验 获得超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!?]
TA贡献1845条经验 获得超8个赞
所有这些都被允许,但是您可能必须在中引用它们""。
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;
123abc
123abc.txt
123abc-ABC.txt
通常,您应该坚持字母。
TA贡献1794条经验 获得超8个赞
sqlite-users邮件列表上的Per Clemens:
允许所有内容,但以“ sqlite_”开头的名称除外。
CREATE TABLE "TABLE"("#!@""'☺\", "");
您可以使用关键字(“ TABLE”),特殊字符(“”#!@“”'☺\“)甚至空字符串(”“)。
添加回答
举报