尝试在 DB Browser 中为项目构建表,并且正在创建我的一个表而没有任何属性列,完全为空。
我通过试验确定,有问题的指令是外键分配之一(特别是EMPLOYEE.emp_years
作为外键引用分配的一个RAISE.emp_years
)。通过注释掉这一行,表格将完全构建,包含所有属性列。但我需要这条线。
CREATE TABLE PAYRATE (
rai_bump DECIMAL (2, 2) NOT NULL,
bas_basepay DECIMAL (2, 2) NOT NULL,
pay_rate DECIMAL (2, 2) NOT NULL,
PRIMARY KEY(rai_bump, bas_basepay)
);
CREATE TABLE BASEPAY (
emp_agerange CHAR(20) NOT NULL,
bas_basepay DECIMAL (2, 2) NOT NULL,
PRIMARY KEY(emp_agerange),
FOREIGN KEY(bas_basepay) REFERENCES PAYRATE(bas_basepay)
);
CREATE TABLE RAISE (
emp_years INTEGER NOT NULL,
rai_bump DECIMAL (2, 2) NOT NULL,
PRIMARY KEY(emp_years),
FOREIGN KEY(rai_bump) REFERENCES PAYRATE(rai_bump)
);
CREATE TABLE EMPLOYEE (
emp_num INTEGER NOT NULL,
emp_fname VARCHAR(20) NOT NULL,
emp_lname VARCHAR(20) NOT NULL,
emp_years INTEGER NOT NULL,
emp_agerange CHAR(20) NOT NULL,
PRIMARY KEY(emp_num),
FOREIGN KEY(emp_years) REFERENCES RAISE(emp_years), /* <-- offender */
FOREIGN KEY(emp_agerange) REFERENCES BASEPAY(emp_agerange)
);
Employee 表应该有 5 个属性,emp_num
, emp_fname
, emp_lname
, emp_years
, 和emp_agerange
。当我在没有上面有问题的行的情况下运行我的代码时,这就是我得到的,但是使用该行,创建了员工表但根本没有列。我没有收到错误消息。它说它在有和没有违规线路的情况下都能成功运行。