在phpMyAdmin中,当我尝试添加外键时,会发生一些错误并且不会告诉我有什么问题.只是说"FK失败".
任何人都可以说出问题是什么吗?
Error
SQL query:
ALTER TABLE `hotel` ADD FOREIGN KEY ( `type_id` ) REFERENCES `hotel`.`hotel_type` (
`id`
) ON DELETE CASCADE ON UPDATE CASCADE ;
MySQL said: Documentation
#1452 - Cannot add or update a child row: a foreign key constraint fails (`hotel`.`#sql-cfc_e`, CONSTRAINT `#sql-cfc_e_ibfk_2` FOREIGN KEY (`type_id`) REFERENCES `hotel_type` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
Run Code Online (Sandbox Code Playgroud)
确保两个表的列具有相同的数据类型:
hotel.hotel type_id int(11) unsigned # type_id column of hotel table
hotel.hotel_type id int(11) unsigned # id column of hotel_type table
Run Code Online (Sandbox Code Playgroud)
如果它们的类型不同,那么您将无法添加FK约束.
- 编辑 -
根据您的响应,列是相同的数据类型,因此这意味着hotels.type_id列中的值无效(hotel_types表中不存在值).检查hotels.type_id列中的值并确保它们存在于hotel_types.id列中.