2014-06-27 103 views
0

对不起noob问题,我习惯了MySQL。SQlite语法错误,无法找到它

此SQlite查询显然有一些语法错误,但我找不到它 - 你看到它了吗?

CREATE TABLE `dash_viewports_dvi` (
`id_dvi` integer unsigned PRIMARY KEY NOT NULL AUTOINCREMENT, 
    `panel_count_dvi` integer unsigned NOT NULL DEFAULT 5, 
    `panel_size_dvi` integer unsigned NOT NULL DEFAULT 6, 
    `name_dvi` text NOT NULL 
); 

这是sqlite v。3.7.13。

+0

如果你得到一个语法错误信息,告诉我们它是什么... –

+0

如果我知道,我不会问在这里。 phpliteadmin只是说它是错误的,没有详细说明:( – MightyPork

+0

nop,即使我完全放弃了NOT NULL,它仍然在抱怨。 – MightyPork

回答

1

错误是“near”AUTOINCREMENT“:语法错误”。

自动递增字段都必须签署:

id_dvi INTEGER PRIMARY KEY AUTOINCREMENT, 
+0

哦,这真的很奇怪,它们也必须是空的......任何想法为什么这个限制是否存在?对我来说没有任何意义 - 负指标?空指标? – MightyPork

+0

“INTEGER PRIMARY KEY”隐含地为NOT NULL,因为NULL值被转换为整数键。而且,SQLite不支持autoincrement的标准定义。看到http://www.sqlite.org/autoinc.html –

+0

有趣的,似乎我的想法,Sqlite是“在一个文件中的MySQL”是远非真相... – MightyPork