@(一隻心中無碼的程序員)專欄html
- ~
題目描述
在audit表上建立外鍵約束,其emp_no對應employees_test表的主鍵id。
CREATE TABLE employees_test(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);程序員
CREATE TABLE audit(
EMP_no INT NOT NULL,
create_date datetime NOT NULL
);sql
本題‘OJ系統太死板,只注重代碼形式,不注重代碼意義,連代碼前縮進四個空格,KEY和(EMP_no)之間除去空格等都規定死了,多是因爲OJ系統沒法從意義上判斷EMP_no是否設置爲了 employees_test(ID)的外鍵所致。 因爲SQLite中不能經過 ALTER TABLE ... ADD FOREIGN KEY ... REFERENCES ... 語句來對已建立好的字段建立外鍵,所以只能先刪除表,再從新建表的過程當中建立外鍵。可參考: http://www.sqlite.org/foreignkeys.html https://zhidao.baidu.com/question/350164703.html DROP TABLE audit; CREATE TABLE audit( EMP_no INT NOT NULL, create_date datetime NOT NULL, FOREIGN KEY(EMP_no) REFERENCES employees_test(ID)); SQLite中設置外鍵還能夠用如下方法: DROP TABLE audit; CREATE TABLE audit( EMP_no INT NOT NULL REFERENCES employees_test(ID), create_date datetime NOT NULL);