欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

MySQL創建外鍵保存后消失

傅智翔2年前8瀏覽0評論

MySQL創建外鍵保存后消失是一種常見問題,這種情況通常是由于外鍵定義不當導致的。下面我們來分析一下可能會導致外鍵保存后消失的原因。

CREATE TABLE `table1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `table2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`table1_id` int(11) NOT NULL,
`name` varchar(20) NOT NULL,
PRIMARY KEY (`id`),
KEY `fk_table1_id` (`table1_id`),
CONSTRAINT `fk_table1_id` FOREIGN KEY (`table1_id`) REFERENCES `table1` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

1. 表類型不同。MySQL有多種表類型,包括MyISAM、InnoDB和MEMORY等,外鍵只能在有支持外鍵的表類型中使用。

2. 字符集不同。外鍵的字符集必須和父表的字符集一致,否則會出現保存后消失的情況。

3. 禁用外鍵約束。如果用戶禁用了MySQL的外鍵約束,那么創建的外鍵就不會生效。

4. 數據類型不兼容。外鍵的數據類型必須與父表中的字段類型兼容,比如int類型的外鍵不能引用一個varchar類型的主鍵。

總而言之,在創建MySQL外鍵時,必須考慮以上幾個問題,以免出現外鍵保存后消失的情況。請注意以上幾個問題,以確保成功創建MySQL外鍵。