SQLite中表名的字符组合有效是什么?字母数字(AZ,az和0-9)的所有组合是否构成有效名称?
Ex. CREATE TABLE 123abc(...);
Run Code Online (Sandbox Code Playgroud)
那些字母数字与破折号" - "和句号"."的组合怎么样也有效?
Ex. CREATE TABLE 123abc.txt(...);
Ex. CREATE TABLE 123abc-ABC.txt(...);
Run Code Online (Sandbox Code Playgroud)
谢谢.
Guf*_*ffa 88
我没有找到它的引用,但有效而不使用括号的表名应该是不以数字开头的任何字母数字组合:
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)
Run Code Online (Sandbox Code Playgroud)
使用括号,您应该可以使用几乎任何东西作为表名:
[This should-be a_valid.table+name!?]
Run Code Online (Sandbox Code Playgroud)
Mat*_*hen 28
所有这些都是允许的,但你可能不得不引用它们"".
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
Run Code Online (Sandbox Code Playgroud)
但一般来说,你应该坚持使用字母表.
根据 sqlite-users 邮件列表中的 Clemens:
除了以“sqlite_”开头的名称外,一切都是允许的。
CREATE TABLE "TABLE"("#!@""'?\", "");
Run Code Online (Sandbox Code Playgroud)
您可以使用关键字 ("TABLE")、特殊字符 (""#!@""'?\"),甚至空字符串 ("")。
从CREATE TABLE上的 SQLite 文档中,唯一禁止的名称是以以下内容开头的名称sqlite_:
以"sqlite_"开头的表名保留供内部使用.尝试创建名称以"sqlite_"开头的表是错误的.
| 归档时间: |
|
| 查看次数: |
37891 次 |
| 最近记录: |