牛客SQL练习第46题

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

题目描述

在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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值