无法在mysql中创建表:错误代码:1005(错误号:150)
我有两个名为无法在mysql中创建表:错误代码:1005(错误号:150),mysql,sql,foreign-keys,primary-key,mysql-workbench,Mysql,Sql,Foreign Keys,Primary Key,Mysql Workbench,我有两个名为“采购订单”和“采购订单详细信息”的表。问题是,当我尝试创建一个“采购订单详细信息”时,会出现以下错误 错误代码:1005。无法创建表 “电机零件.采购订单详细信息”(错误号:150)0.125秒 我使用mysql workbench作为GUI来创建表,我尝试了手工编写脚本和基于GUI的表实现,但都出现了相同的错误 下面是创建表的脚本 create table purchase_order ( date date, sid varchar(50), bill_no varch
“采购订单”
和“采购订单详细信息”
的表。问题是,当我尝试创建一个“采购订单详细信息”
时,会出现以下错误
错误代码:1005。无法创建表
“电机零件.采购订单详细信息”(错误号:150)0.125秒
我使用mysql workbench作为GUI来创建表,我尝试了手工编写脚本和基于GUI的表实现,但都出现了相同的错误
下面是创建表的脚本
create table purchase_order
(
date date,
sid varchar(50),
bill_no varchar(10),
total double(10,2),
uid varchar(20),
primary key(date,sid,bill_no)
);
create table purchase_order_details
(
pdate date,
sid varchar(50),
bill_no varchar(10),
pid varchar(20),
quantity double(10,5),
type varchar(10),
price double(10,2),
total double(10,2),
primary key(pdate,sid,bill_no,pid),
constraint fk_pur_ord_det_date foreign key(pdate) references purchase_order(date),
constraint fk_pur_ord_det_bill_no foreign key(bill_no) references purchase_order(bill_no),
constraint fk_pur_ord_det_pid foreign key(pid) references product(pid),
constraint fk_pur_ord_det_sid foreign key(sid) references supplier(sid)
);
我在谷歌上搜索了堆栈溢出站点,但找不到答案
我猜在“采购订单详细信息”
中的外键“fk\u pur\u ord\u det\u bill\u no”
有问题。没有“fk\u pur\u ord\u det\u bill\u no”
脚本执行得非常好
我想不出那把钥匙有什么问题,请帮帮我
谢谢大家。字段
sid
不存在于您的采购订单\u详情表中。因此,您无法对该字段创建约束。字段“sid”存在于我的“采购订单详细信息”中。在“pdate”值之后。我终于找到了答案。。我在“采购订单”上创建了一个索引,并在“采购订单详细信息”中创建了一个包含所有外键的表。