我无法改变表格以添加外键。错误:150出现。无法弄清楚出了什么问题。请协助
CREATE TABLE Staff (staffNo varchar(10) NOT NULL, Fname varchar(50),
Lname varchar(50), Staff_Adress varchar(100), Salary numeric(65),
JobPosition varchar(15), Sex varchar(1), DateOfBirth date, NIN varchar(25),OffceNo varchar(10),
PRIMARY KEY (staffNo),
CHECK (Sex IN ('M', 'F')));
CREATE TABLE Office (OfficeNo INT(10) unsigned NOT NULL, Address varchar(50) NOT NULL, City varchar (25) NOT NULL,
PhoneNo varchar(10) NOT NULL, ManagerNo varchar(10),
PRIMARY KEY (OfficeNo),
FOREIGN KEY (ManagerNo) references Staff(staffNo));
alter table Staff
add foreign key (OffceNo) references Office(OfficeNo) on delete set NULL;
答案 0 :(得分:2)
解决这些问题:
答案 1 :(得分:0)
你的问题在这里:
alter table Staff
add foreign key (OffceNo) references Office(OfficeNo) on delete set NULL;
你必须在员工表中更改此内容
OffceNo varchar(10)
到
OffceNo INT(10) unsigned
或者在Office表中。
OfficeNo INT(10) unsigned NOT NULL
到
OfficeNo varchar(10) NOT NULL
因为它们与使用外键的结构和数据类型相同。