MySQl错误#1064 42000

时间:2013-11-01 14:42:43

标签: mysql sql

创建“订单”表时,我一直收到错误消息。有任何想法吗? “customer”表已经存在,cust#列也是如此。提前谢谢。

create table orders(
`order#` char(4) not null,
orderdate date not null,
`cust#` char(4) not null,
amount decimal(10,2) not null,
primary key (`order#`),
foreign key (`cust#`) references customer (`cust#`)
on delete cascade on update cascade
) engine=InnoDB; 
编辑:只是一个错字。谢谢你的回复。

2 个答案:

答案 0 :(得分:2)

在尝试创建表customer之前,表orders必须存在。

See a demo

虽然允许使用#等字符,但在命名对象时应避免使用它们。

答案 1 :(得分:0)

尝试为外键添加CONSTRAINT

create table orders(
`order#` char(4) not null,
orderdate date not null,
`cust#` char(4) not null,
ord_amt decimal(10,2) not null,
primary key (`order#`),
CONSTRAINT `fk_cust` foreign key (`cust#`) references customer (`cust#`)
on delete cascade on update cascade
) engine=InnoDB;