mysql取消外鍵限制(約束)的方法:通過“ALTER TABLE <表名> DROP FOREIGN KEY <外鍵約束名>;”語句來取消;外鍵一旦刪除,就會(huì)解除主表和從表間的關(guān)聯(lián)關(guān)系。
MySQL 外鍵約束(FOREIGN KEY)是表的一個(gè)特殊字段,經(jīng)常與主鍵約束一起使用。對(duì)于兩個(gè)具有關(guān)聯(lián)關(guān)系的表而言,相關(guān)聯(lián)字段中主鍵所在的表就是主表(父表),外鍵所在的表就是從表(子表)。
外鍵用來建立主表與從表的關(guān)聯(lián)關(guān)系,為兩個(gè)表的數(shù)據(jù)建立連接,約束兩個(gè)表中數(shù)據(jù)的一致性和完整性。比如,一個(gè)水果攤,只有蘋果、桃子、李子、西瓜等 4 種水果,那么,你來到水果攤要買水果就只能選擇蘋果、桃子、李子和西瓜,其它的水果都是不能購買的。
mysql取消外鍵限制(約束)的方法
當(dāng)一個(gè)表中不需要外鍵約束時(shí),就需要從表中將其刪除。外鍵一旦刪除,就會(huì)解除主表和從表間的關(guān)聯(lián)關(guān)系。
刪除外鍵約束的語法格式如下所示:
ALTER TABLE <表名> DROP FOREIGN KEY <外鍵約束名>;
示例
刪除數(shù)據(jù)表 tb_emp2 中的外鍵約束 fk_tb_dept1,SQL 語句和運(yùn)行結(jié)果如下所示。
mysql> ALTER TABLE tb_emp2 -> DROP FOREIGN KEY fk_tb_dept1; Query OK, 0 rows affected (0.19 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> SHOW CREATE TABLE tb_emp2G *************************** 1. row *************************** Table: tb_emp2 Create Table: CREATE TABLE `tb_emp2` ( `id` int(11) NOT NULL, `name` varchar(30) DEFAULT NULL, `deptId` int(11) DEFAULT NULL, `salary` float DEFAULT NULL, PRIMARY KEY (`id`), KEY `fk_tb_dept1` (`deptId`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312 1 row in set (0.00 sec)
可以看到,tb_emp2 中已經(jīng)不存在 FOREIGN KEY,原有的名稱為 fk_emp_dept 的外鍵約束刪除成功。
推薦教程:mysql視頻教程