ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>
“外键约束名”指在定义表时 CONSTRAINT 关键字后面的参数,详细内容可参考:MySQL 外键约束的使用CREATE TABLE tb_emp9 ( id INT PRIMARY KEY, name VARCHAR(25), deptId INT, salary FLOAT, CONSTRAINT fk_emp_dept FOREIGN KEY (deptId) REFERENCES tb_dept1(id) );使用 SHOW CREATE TABLE 查看表 tb_emp9 的结构,结果如下:
mysql> SHOW CREATE TABLE tb_emp9 \G *** 1. row *** Table: tb_emp9 Create Table: CREATE TABLE `tb_emp9` ( `id` INT NOT NULL, `name` varchar(25) DEFAULT NULL, `deptId` INT DEFAULT NULL, `salary` float DEFAULT NULL, PRIMARY KEY (`id`), KEY `fk_emp_dept` (`deptId`), CONSTRAINT `fk_emp_dept` FOREIGN KEY (`deptId`) REFERENCES `tb_dept1` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci 1 row in set (0.00 sec)可以看到,已经成功添加了表的外键,下面删除外键约束,SQL语句如下:
ALTER TABLE tb_emp9 DROP FOREIGN KEY fk_emp_dept;执行完毕之后,将删除表 tb_emp9 的外键约束。使用 SHOW CREATE TABLE 再次查看表 tb_emp9 结构,结果如下:
mysql> SHOW CREATE TABLE tb_emp9 \G *** 1. row *** Table: tb_emp9 Create Table: CREATE TABLE `tb_emp9` ( `id` INT NOT NULL, `name` varchar(25) DEFAULT NULL, `deptId` INT DEFAULT NULL, `salary` float DEFAULT NULL, PRIMARY KEY (`id`), KEY `fk_emp_dept` (`deptId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci 1 row in set (0.00 sec)可以看到,tb_emp9 中已经不存在 FOREIGN KEY,原有的名称为 fk_emp_dept 的外键约束删除成功。
本文链接:http://task.lmcjl.com/news/4917.html