@(一只心中无码的程序员)专栏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);