MYSQL - 无法创建表格
问题描述:
我正在使用MYSQL 5.1。当我去创建一个表时,它抛出错误这样,MYSQL - 无法创建表格
查询:
CREATE TABLE IF NOT EXISTS payment_status (
STATUS_ID int(3) unsigned NOT NULL DEFAULT '0' ,
STATUS_NAME varchar(50) NOT NULL DEFAULT '' ,
DESC varchar(100) ,
PRIMARY KEY (STATUS_ID),
UNIQUE KEY XPKPAYMENT_STATUS (STATUS_ID)
)
错误:
Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DESC varchar(100) ,
PRIMARY KEY (STATUS_ID),
UNIQUE KEY XPKPAYMENT_STATUS (S' at line 4
(0 ms taken)
答
DESC
是一个保留MYSQL字(用过ORDER BY Column1 DESC
???) 。
括起来字反引号(`)和查询将运行正常:
CREATE TABLE IF NOT EXISTS payment_status (
STATUS_ID int(3) unsigned NOT NULL DEFAULT '0' ,
STATUS_NAME varchar(50) NOT NULL DEFAULT '' ,
`DESC` varchar(100) ,
/* note the backticks on the above line */
PRIMARY KEY (STATUS_ID),
UNIQUE KEY XPKPAYMENT_STATUS (STATUS_ID)
)
虽然我建议重命名列,以避免进一步的麻烦。
你为什么要添加UNIQUE KEY XPKPAYMENT_STATUS如果你已经宣布它作为主键 – DKSRathore 2009-11-24 06:18:46
哪里复选框接受。我想不明白。 – Srinivasan 2009-11-24 07:03:55