我想知道在创建表时SQLite对表名和列名的限制。 creating a table的文档说表格名称不能以" sqlite _"开头。但还有其他限制吗? 有效的地方是否存在正式定义?
只要引用该名称,SQLite就会惊讶地接受。例如......
sqlite> create table 'name with spaces, punctuation & $pecial characters?'(x int);
sqlite> .tables
name with spaces, punctuation & $pecial characters?
答案 0 :(得分:8)
如果使用括号或引号,则可以使用任何名称,并且没有限制:
create table [--This is a_valid.table+name!?] (x int);
但是没有括号的表格名称应该是不以数字开头并且不包含任何空格的任何字母数字组合。
您可以使用下划线和$,但不能使用以下符号:+ - ? ! * @%^& #= / \:" '