我试图为外键创建一个外键(我认为这是可能的),但我不断收到错误消息,指出约束的形成不正确
CREATE TABLE Staff (
ssn INT,
name VARCHAR(127),
gender VARCHAR(127),
age TINYINT UNSIGNED,
address VARCHAR(255),
phone_number CHAR(12),
wage FLOAT(3,2),
PRIMARY KEY (ssn));
CREATE TABLE Admininstration (
ssn INT,
FOREIGN KEY (ssn) REFERENCES Staff(ssn),
PRIMARY KEY (ssn));
CREATE TABLE Wards (
ward_clerk INT,
ward_id CHAR(2),
floor_number TINYINT,
FOREIGN KEY (ward_clerk) REFERENCES Administration(ssn),
PRIMARY KEY (ward_id)
);
ERROR 1005 (HY000): Can't create table `HospitalManagement`.`Wards`
(errno: 150 "Foreign key constraint is incorrectly formed")
如果我更改最后一条语句以引用Staff表
CREATE TABLE Wards (
ward_clerk INT,
ward_id CHAR(2),
floor_number TINYINT,
FOREIGN KEY (ward_clerk) REFERENCES Staff(ssn),
PRIMARY KEY (ward_id)
);
它可以工作,但这不是我想要的。如果这不可能,我知道我将如何进行更改,但我想这样做。任何建议表示赞赏。
答案 0 :(得分:1)
在适当的地方,创建列import { AdalService } from 'ng2-adal'
。
请注意存储SSN的严重安全隐患。
NOT NULL
在-9.99到9.99之间?便宜的。请勿使用wage
来赚钱;使用FLOAT
。