MySQL外部索引鍵檢查會影響整個資料庫嗎?


foreign_key_checks 是基於會話的。現在,我們可以說它們是針對範圍的,即本地或全域性的。這是一個演示本地或全域性的示例。兩者都是範圍,我們可以為會話設定此範圍。

我們來設定範圍 −

mysql> set foreign_key_checks = 0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global foreign_key_checks = 0;
Query OK, 0 rows affected (0.05 sec)

foreign_key_checks 變數是伺服器系統變數。這裡還有一些更詳細的資訊 −

屬性
系統變數foreign_key_checks
範圍全域性、會話
動態
型別布林
預設值ON

設定 foreign_key_checks 為 0

它影響資料定義語句:即使包含表格有外部索引鍵(是指模式外部表格的外部索引鍵)的模式,DROP SCHEMA 也會刪除該模式,而 DROP TABLE 會刪除有外部索引鍵(是指其他表格的外部索引鍵)的表格。

設定 foreign_key_checks 為 1

它不會觸發現有表格資料的掃描。因此,在 foreign_key_checks=0 時新增到表格的行不會被驗證是否一致。

更新於:2020 年 6 月 26 日

4K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始
宣傳
© . All rights reserved.