2013-05-20 55 views
-2

我使用SQL創建了下列表,用於導入MySQL 5.5.24數據庫。在MySQL數據庫中使用SQL創建表時出現語法錯誤

CREATE TABLE customers (
'custId'   INT NOT NULL AUTO_INCREMENT, 
'custName'  NOT NULL VARCHAR(80), 
'custfirmName' VARCHAR(80), 
'custAddress'  NOT NULL VARCHAR(80), 
'custAddress2' VARCHAR(45), 
'custCity'  NOT NULL VARCHAR(45), 
'custState'  NOT NULL CHAR(2), 
'custZip'   NOT NULL CHAR(10), 
'custPhone'  NOT NULL VARCHAR(12), 
'custEmail'  NOT NULL VARCHAR(45), 
'custWebsite'  VARCHAR(45), 
PRIMARY KEY(custId) 
); 

我有兩個資源,它們表明我的語法是正確的,但我得到了客戶表的錯誤消息:

#1064 - 你有一個錯誤的SQL語法;檢查對應於你的MySQL服務器版本正確的語法使用近'CUSTID」 INT NOT NULL AUTO_INCREMENT, 'CUSTNAME' NOT NULL VARCHAR(80), 'C' 在第2行

什麼時許手冊我做錯了?

+0

''INT可能需要若干/長度 – samayo

回答

0

列名使用反引號: -

CREATE TABLE customers (
`custId`   INT NOT NULL AUTO_INCREMENT, 
`custName`   VARCHAR(80) NOT NULL, 
`custfirmName`  VARCHAR(80), 
`custAddress`  VARCHAR(80) NOT NULL, 
`custAddress2`  VARCHAR(45), 
`custCity`   VARCHAR(45) NOT NULL, 
`custState`   CHAR(2) NOT NULL, 
`custZip`   CHAR(10) NOT NULL, 
`custPhone`   VARCHAR(12) NOT NULL, 
`custEmail`   VARCHAR(45) NOT NULL,  
`custWebsite`  VARCHAR(45), 
PRIMARY KEY(custId) 
); 
+0

謝謝大家的幫助。最後一個問題是,後退勾號的關鍵組合是什麼? –

+0

我明白了。再次感謝。 –

1

嘗試不帶引號,並把NOT NULL在每個字段聲明的結尾:

CREATE TABLE customers 
    (
    custid  INT NOT NULL auto_increment, 
    custname  VARCHAR(80) NOT NULL, 
    custfirmname VARCHAR(80), 
    custaddress VARCHAR(80) NOT NULL, 
    custaddress2 VARCHAR(45), 
    custcity  VARCHAR(45) NOT NULL, 
    custstate CHAR(2) NOT NULL, 
    custzip  CHAR(10) NOT NULL, 
    custphone VARCHAR(12) NOT NULL, 
    custemail VARCHAR(45) NOT NULL, 
    custwebsite VARCHAR(45), 
    PRIMARY KEY(custid) 
); 

或使用反引號(允許字段名空格):

CREATE TABLE customers 
    (
    `custid`  INT NOT NULL auto_increment, 
    `custname`  VARCHAR(80) NOT NULL, 
    `custfirmname` VARCHAR(80), 
    `custaddress` VARCHAR(80) NOT NULL, 
    `custaddress2` VARCHAR(45), 
    `custcity`  VARCHAR(45) NOT NULL, 
    `custstate` CHAR(2) NOT NULL, 
    `custzip`  CHAR(10) NOT NULL, 
    `custphone` VARCHAR(12) NOT NULL, 
    `custemail` VARCHAR(45) NOT NULL, 
    `custwebsite` VARCHAR(45), 
    PRIMARY KEY(custid) 
); 

fiddle

1

嘗試這種情況:

CREATE TABLE customers (
`custId`   INT NOT NULL AUTO_INCREMENT, 
`custName`   VARCHAR(80) NOT NULL, 
`custfirmName`  VARCHAR(80), 
`custAddress`  VARCHAR(80) NOT NULL, 
`custAddress2`  VARCHAR(45), 
`custCity`   VARCHAR(45) NOT NULL, 
`custState`   CHAR(2) NOT NULL, 
`custZip`   CHAR(10) NOT NULL, 
`custPhone`   VARCHAR(12) NOT NULL, 
`custEmail`   VARCHAR(45) NOT NULL,  
`custWebsite`  VARCHAR(45), 
PRIMARY KEY(custId) 
); 

上面與MySQL工作臺測試。

相關問題