题目描述
在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)
);
在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)

本文详细介绍了在SQLite中如何正确地创建和管理外键约束,包括先删除再重建表的方法,以及对比MySQL中的外键添加操作。
1816

被折叠的 条评论
为什么被折叠?



