1

创建“订单”表时,我不断收到错误消息。有任何想法吗?“客户”表已经存在,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; 

编辑:只是一个错字。感谢您的回复。

4

2 回答 2

2

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

查看演示

虽然允许使用诸如此类的字符#,但在命名对象时应避免使用它们。

于 2013-11-01T14:45:18.353 回答
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; 
于 2013-11-01T15:03:04.477 回答