什么是外鍵約束
在MySQL中,外鍵約束是用于保持表之間完整性的機制。通過使用外鍵約束,一個表的某個列可以參照另一個表的某個列,這個約束可以限制插入或者修改數據的時候數據的完整性。 當進行插入或者更新操作的時候,如果列不符合外鍵約束,那么操作將無法被執行。
如何在MySQL中查看外鍵約束
MySQL提供了一個稱為“SHOW CREATE TABLE”命令來查看表的建表語句,這個命令可以顯示表的所有屬性,包括外鍵約束。通過在這個命令的執行結果中找到“FOREIGN KEY”關鍵字,就可以查看到表的外鍵約束名稱。
樣例
假設有一個表“orders”,它有一個外鍵連接到表“customers”的列“customer_id”。我們可以使用“SHOW CREATE TABLE”命令查看這個表的建表語句,以查看這個外鍵的名稱。下面是一個例子:
mysql>SHOW CREATE TABLE orders\G *************************** 1. row *************************** Table: orders Create Table: CREATE TABLE `orders` ( `id` int(11) NOT NULL AUTO_INCREMENT, `order_number` varchar(255) NOT NULL, `customer_id` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `customer_id_fk` (`customer_id`), CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
在這個結果中,我們可以看到這個表有一個名叫“order_ibfk_1”的外鍵約束,這個約束連接到了“customers”表中的“id”列。這個外鍵可以被使用“ON DELETE CASCADE”和“ON UPDATE CASCADE”來控制他們的行為。