题目描述 在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)
推荐阅读
- 算法-刷题|【牛客SQL进阶挑战】SQL刷题——知识点整理(附链接)(更新中……)
- 数据库|牛客网SQL进阶挑战(一)
- 牛客题霸---SQL|牛客题霸---SQL(2)
- #|创建RT-thread软件仿真工程 写RT-thread内核
- #|RTOS rt-thread裸机系统与多线程系统
- #|RT-Thread设计与实现(RT-Thread 概述和架构)
- #|No.2 STM32F429IGT6 固件库 CMSIS标准及库和STM32官方文档资料总结 (STM32F429/F767/H743)
- #|[启动流程] RT-Thread是如何启动的()
- Java|JDBC (Java DataBase Connectivity )的基本使用