无法在InnoDB中添加外键

Sym*_*ony 2 mysql

在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)

Mik*_*ell 6

确保两个表的列具有相同的数据类型:

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列中.