在mysql中,可以利用ALTER TABLE語句配合DROP關鍵字來刪除外鍵關係(限制),語法「ALTER TABLE 資料表名DROP FOREIGN KEY 外鍵約束名稱;」;「ALTER TABLE」語句用於修改表格(改變原有表格的結構),而加入了「DROP FOREIGN KEY」語句後,修改功能就限制在刪除外鍵關係(限制)上。
本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。
外鍵關係(外鍵約束)是表的一個特殊字段,經常與主鍵約束一起使用。對於兩個具有關聯關係的表而言,相關聯字段中主鍵所在的表就是主表(父表),外鍵所在的表就是從表(子表)。
外鍵用來建立主表與從表的關聯關係,為兩個表的資料建立連接,約束兩個表中資料的一致性和完整性。例如,一個水果攤,只有蘋果、桃子、李子、西瓜等 4 種水果,那麼,你來到水果攤要買水果就只能選擇蘋果、桃子、李子和西瓜,其它的水果都是不能買的。
主表刪除某筆記錄時,從表中與之對應的記錄也必須有對應的改變。一個表可以有一個或多個外鍵,外鍵可以為空值,若不為空值,則每一個外鍵的值必須等於主表中主鍵的某個值。
當一個表中不需要外鍵約束時,就需要從表中刪除。外鍵一旦刪除,就會解除主表和從表間的關聯關係。
那麼mysql怎麼刪除外鍵關係(限制)?
在mysql中,可以利用ALTER TABLE語句來配合DROP關鍵字來刪除外鍵關係(限制)。
刪除外鍵約束的語法格式如下所示:
ALTER TABLE 数据表名 DROP FOREIGN KEY 外键约束名;
ALTER TABLE 語句用於改變原始資料表的結構,例如增加或刪減列、更改原有列類型、重新命名列或表格等。
DROP FOREIGN KEY語句用於刪除外鍵關係
#範例:
使用下列語句查看資料表tb_emp2 的外鍵約束:
SHOW CREATE TABLE tb_emp2\G
mysql> SHOW CREATE TABLE tb_emp2\G *************************** 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`), CONSTRAINT `fk_tb_dept1` FOREIGN KEY (`deptId`) REFERENCES `tb_dept1` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312 1 row in set (0.12 sec)
刪除資料表tb_emp2 中的外鍵約束fk_tb_dept1
ALTER TABLE tb_emp2 DROP FOREIGN KEY fk_tb_dept1;
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影片教學】
以上是mysql怎麼刪除外鍵關係的詳細內容。更多資訊請關注PHP中文網其他相關文章!