mysql建表: 出现 error 1604(42000)的错误,建表的源代码如正文(是在数据库“test”中建立这个表的)

a68351153 2009-05-19 11:54:56
mysql> use test;
Database changed
mysql> CREATE TABLE Order
-> (
-> number INTEGER,
-> shippingAddress varchar(100),
-> shippingDate varchar(100),
-> orderID Integer NOT NULL,
-> orderLineItemID Integer,
-> PRIMARY KEY (orderID)
-> )
-> ;
ERROR 1064 (42000): 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 'Order

(
number INTEGER,
shippingAddress varchar(100),
shippingDate varchar(10' at line 1
mysql>




不知道为什么?有人帮我解答下吗??
...全文
1806 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2009-05-19
  • 打赏
  • 举报
回复

order 是保留字,需要用反引号标识 `

mysql> CREATE TABLE `Order`
-> (
-> number INTEGER,
-> shippingAddress varchar(100),
-> shippingDate varchar(100),
-> orderID Integer NOT NULL,
-> orderLineItemID Integer,
-> PRIMARY KEY (orderID)
-> );
Query OK, 0 rows affected (0.14 sec)

mysql>


ACMAIN_CHM 2009-05-19
  • 打赏
  • 举报
回复

一楼说得很清楚了。

order 是保留字,需要用反引号标识 `
a68351153 2009-05-19
  • 打赏
  • 举报
回复
我用1楼的代码就解决了。

但是为什么 当表的名字是 Order 时建表就不行?? 而表的其他代码不变,我把表名字改了,就可以了。

还有:那个“`”是什么用处的?为什么Order加上这个就可以成功建表了???
WWWWA 2009-05-19
  • 打赏
  • 举报
回复
mysql> CREATE TABLE Order
-> (
-> `number` INTEGER,
-> shippingAddress varchar(100),
-> shippingDate varchar(100),
-> `orderID` Integer NOT NULL,
-> orderLineItemID Integer,
-> PRIMARY KEY (`orderID`)
-> )
-> ;

56,940

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧