繁体   English   中英

如何将FK约束放在mysql中的两个表上,一个表使用InnoDB,另一个表使用MyISAM

[英]How to put FK constraint on two tables in mysql with one table with InnoDB and other is MyISAM

原因:liquibase.exception.JDBCException:

Error executing SQL ALTER TABLE `User` ADD CONSTRAINT `fk_user_location` FOREIGN KEY (`location_id`) REFERENCES `Location`(`id`) ON DELETE CASCADE:
          Caused By: Error executing SQL ALTER TABLE `UserLocation` ADD CONSTRAINT `fk_user_location_location_id` FOREIGN KEY (`location_id`) REFERENCES `Location`(`id`) ON DELETE CASCADE:
          Caused By: Can't create table 'usiapp_db.#sql-399a_177a7' (errno: 150)

你不能。 如果要为其创建外键或从中创建外键,则必须将MyISAM表转换为InnoDB:

ALTER TABLE MyIsamTable ENGINE=InnoDB;

您可以动态地执行此操作,而无需关闭数据库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM