2014-06-27 123 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