2013-05-20 52 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工作台测试。

相关问题