微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

外键未在mysql中实现

如何解决外键未在mysql中实现

我正在尝试使用给定的查询创建表:

CREATE TABLE Sales_order129(
    S_order_no varchar(6) primary key check(S_order_no Like '0%'),S_order_date Date,client_no varchar(6) foreign key references client_master129(client_no),Dely_add varchar(25),Salesman_no varchar(6) foreign key references Sales_master129(Salesman_no),Dely_type char(1) check(Dely_type in('P','F')) default 'F',Billed_yn char(1),Dely_date date check(Dely_date>=S_order_date),Order_status varchar(10) check(Order_status in('in process','fulfilled','back order','cancelled'))
    );

但它显示了给定的错误

错误1064(42000):您的sql语法有错误;查看与您的MysqL服务器版本相对应的手册以获取正确的语法,以在“外键引用client_master129(client_no)附近使用”, Dely_add varchar(25), 塞勒姆在第4行

请帮助我!

解决方法

您不能为快捷键使用快捷键

CREATE TABLE Sales_order129(
     S_order_no varchar(6) primary key check(S_order_no Like '0%'),S_order_date Date,client_no varchar(6),foreign key (client_no) references client_master129(client_no),Dely_add varchar(25),Salesman_no varchar(6),foreign key (Salesman_no) references Sales_master129(Salesman_no),Dely_type char(1) check(Dely_type in('P','F')) default 'F',Billed_yn char(1),Dely_date date check(Dely_date>=S_order_date),Order_status varchar(10) check(Order_status in('in process','fulfilled','back order','cancelled'))
 );
,

默认值必须先检查

Dely_type char(1)默认'F'检查(Dely_type in('P','F')),

您不能使用fk快捷键,请参阅@nbk的答案

如果仍然有错误,请发布参考表,包括所使用的引擎。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。