2017-02-12 124 views
-1

我想使用數據庫來鏈接它與我的Java項目 ,我使用wampsarver來創建數據庫。 我該怎麼做才能解決這個問題。CREATE TABLE在MySQL語法錯誤

1064 - 您的SQL語法錯誤;檢查對應於你的MySQL服務器版本正確的語法使用 附近 'Phone DOUBLE(20)NOT NULL,Id INT(20)NOT NULL AUTO_INCR)NOT NULL' 手冊第6行

CREATE TABLE `Laptop` (
`serial number ` INT(20) NOT NULL , 
`Device Model` VARCHAR(20) NOT NULL , 
`Device Manufacturer` VARCHAR(20) NOT NULL , 
`Device Color` VARCHAR(20) NOT NULL , 
`Screen size` DOUBLE(20) NOT NULL , 
`Phone` DOUBLE(20) NOT NULL , 
`Id` INT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
UNIQUE (
`serial number ` 
) 
) ENGINE = innodb 
+0

你真的是在把AUTO_INCREMENT主鍵的習慣表中的最後一列?通常情況下,這是第一個。 –

+0

不建議使用列名中的空格 – RiggsFolly

回答

1

雙您有逗號的precision.Also後添加另一個數字沒有空間name.the下面的腳本之後允許工作

CREATE TABLE `Laptop` (
`serial number` INT(20) NOT NULL , 
`Device Model` VARCHAR(20) NOT NULL , 
`Device Manufacturer` VARCHAR(20) NOT NULL , 
`Device Color` VARCHAR(20) NOT NULL , 
`Screen size` DOUBLE(20,4) NOT NULL , 
`Phone` DOUBLE(20,4) NOT NULL , 
`Id` INT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
    UNIQUE (
`serial number` 
) 
) ENGINE = innodb 
3

DOUBLE也需要精度(我給DOUBLE(20,2) - 根據需要更改它)。

再加上在serial number列名的末尾有一個雜散空間。

CREATE TABLE `Laptop` (
`serial number` INT(20) NOT NULL , 
`Device Model` VARCHAR(20) NOT NULL , 
`Device Manufacturer` VARCHAR(20) NOT NULL , 
`Device Color` VARCHAR(20) NOT NULL , 
`Screen size` DOUBLE(20,2) NOT NULL , 
`Phone` DOUBLE(20 ,2) NOT NULL , 
`Id` INT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
UNIQUE (
`serial number` 
) 
) 

此外,最好使用DECIMAL,而不是作爲DOUBLE雙打不能精確表示,雖然做的比較產生的問題。