Попытка построить таблицы для проекта в 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
. Когда я запускаю свой код без вышеуказанной строки, это то, что я получаю, но со строкой таблица сотрудника создается, но вообще не имеет столбцов. Я не получаю сообщений об ошибках. Он говорит, что он успешно работает как с ошибочной строкой, так и без нее.