2015-02-24 143 views
-1

我試着用下面query.phpmyadmin不允許it.What IM我做錯了phpmyadmin創建表時顯示mysql錯誤?

CREATE TABLE main (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY(id), 
dealername VARCHAR(32) NOT NULL, 
product VARCHAR(32) NOT NULL, 
type VARCHAR(16) NOT NULL, 
date VARCHAR(16) NOT NULL, 
desc VARCHAR(255) NOT NULL, 
location VARCHAR(32) NOT NULL, 
sublocation VARCHAR(32) NOT NULL, 
address VARCHAR(255) NOT NULL, 
phone1 VARCHAR(16) NOT NULL, 
phone2 VARCHAR(16) NOT NULL, 
auth VARCHAR(10) NOT NULL, 
brands VARCHAR(255) NOT NULL, 
lat VARCHAR(32) NOT NULL, 
lon VARCHAR(32) NOT NULL 
); 

錯誤創建表: #1064 - 你在你的SQL語法錯誤; (id),dealername VARCHAR(32)NOT NULL,product VARCHAR(32)NOT NULL,在第2行輸入VAR'時使用正確的語法對應的MySQL服務器版本的手冊

回答

1

必須刪除(id)

CREATE TABLE main (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
dealername VARCHAR(32) NOT NULL, 
product VARCHAR(32) NOT NULL, 
type VARCHAR(16) NOT NULL, 
date VARCHAR(16) NOT NULL, 
`desc` VARCHAR(255) NOT NULL, 
location VARCHAR(32) NOT NULL, 
sublocation VARCHAR(32) NOT NULL, 
address VARCHAR(255) NOT NULL, 
phone1 VARCHAR(16) NOT NULL, 
phone2 VARCHAR(16) NOT NULL, 
auth VARCHAR(10) NOT NULL, 
brands VARCHAR(255) NOT NULL, 
lat VARCHAR(32) NOT NULL, 
lon VARCHAR(32) NOT NULL 
); 

表創建語句的語法是錯誤的。請參閱documentation。 不期望Primary key之後的列的名稱。

descsql中的保留字,因此您必須轉義它或更好地使用其他列名稱。

+0

謝謝..這與上述答案一起解決了它 – techno 2015-02-24 07:32:45

1
  1. (id)除去

  2. 降序是MySQL的關鍵字。

把它放在反引號這樣的,如果你仍然想使用說明作爲列名。

CREATE TABLE main (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    dealername VARCHAR(32) NOT NULL, 
    product VARCHAR(32) NOT NULL, 
    type VARCHAR(16) NOT NULL, 
    date VARCHAR(16) NOT NULL, 
    `desc` VARCHAR(255) NOT NULL, 
    location VARCHAR(32) NOT NULL, 
    sublocation VARCHAR(32) NOT NULL, 
    address VARCHAR(255) NOT NULL, 
    phone1 VARCHAR(16) NOT NULL, 
    phone2 VARCHAR(16) NOT NULL, 
    auth VARCHAR(10) NOT NULL, 
    brands VARCHAR(255) NOT NULL, 
    lat VARCHAR(32) NOT NULL, 
    lon VARCHAR(32) NOT NULL 
    ); 
+0

Thanks.Also基於下面的答案作出更改.solved。 – techno 2015-02-24 07:33:14

+0

太棒了!那麼,爲什麼不接受其中一個答案呢? – dsharew 2015-02-24 07:41:18

+0

我已upvoted兩個答案,但其他答案已經'desc',只是沒有注意到。所以我接受它。謝謝 – techno 2015-02-24 08:05:27