牛客|牛客SQL练习第46题

题目描述 在audit表上创建外键约束,其emp_no对应employees_test表的主键id。
(audit已经创建,需要先drop)

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 );

解答 SQLite中不能通过 alter table … add foreign key … references … 语句来对已创建好的字段创建外键,可以先删除表,然后在重新建表时创建外键
drop table audit; create table audit( EMP_no int not null, create_date datetime not null, foreign key(EMP_no) references employees_test(ID) );

【牛客|牛客SQL练习第46题】在SQLite中还可以这样写:
drop table audit; create table audit( EMP_no int not null references employees_test(ID), create_date datetime not null);

在MySQL中可以使用alter完成:
alter table audit add foreign key(emp_no) references employees_test(id)

    推荐阅读