Slide 24
Slide 24 text
● 外部キーに関する設定
○ foreign_key_checks
■ 外部キーによる整合性の確認を行うかどうか
■ デフォルトは`YES`(有効)
● Note
○ TiDB 6.5以前は、create tableでのforeign keyは構文レベルではサポートされていましたが、実際の整合性の
確認は行っていませんでした
○ TiDB 6.5以前からTiDB 6.6以降にアップグレードをおこなっても /* FOREIGN KEY INVALID */ のコメントが付与さ
れ、外部キーによる整合性の確認は行われません
○ 一度外部キーを削除し、再度外部キーを作成することで、実際の整合性の確認を行うようになります
mysql> SHOW CREATE TABLE child\G
***************************
[ 1. row ]***************************
Table | child
Create Table | CREATE TABLE `child` (
`id` int(11) DEFAULT NULL,
`pid` int(11) DEFAULT NULL,
KEY `idx_pid` (`pid`),
CONSTRAINT `fk_1` FOREIGN KEY (`pid`) REFERENCES `test`.`parent` (`id`) ON DELETE CASCADE /* FOREIGN KEY
INVALID */
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
外部キーのサポート