解决
我已经阅读了很多关于这个问题的话题但仍然没有运气,不知道为什么这不起作用?这个DDL是由Symfony / Doctrine生成的。
SET FOREIGN_KEY_CHECKS = 0;
CREATE TABLE parent_table (first_id INT NOT NULL, second_id INT NOT NULL, PRIMARY KEY(first_id, second_id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE child_table (first_id INT NOT NULL, second_id INT NOT NULL, third_id VARCHAR(255) NOT NULL, INDEX IDX_125B5ABCD871DC26E524616D (second_id, first_id), PRIMARY KEY(first_id, second_id, third_id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
ALTER TABLE child_table ADD CONSTRAINT FK_125B5ABCD871DC26E524616D FOREIGN KEY (second_id, first_id) REFERENCES parent_table (second_id, first_id);
最新外国关键错误2014-04-30 12:41:26 f3c外键错误
表测试约束/ #sql-4b8_37:
FOREIGN KEY(second_id, first_id)REFERENCES parent_table(second_id,first_id):找不到 引用表中显示引用列的索引 作为表中的第一列或列类型以及引用的列 表与约束不匹配。请注意内部存储类型 在使用> = InnoDB-4.1.12创建的表中更改了ENUM和SET,以及 旧表中的这些列不能被new中的这些列引用 表。看到 http://dev.mysql.com/doc/refman/5.6/en/innodb-foreign-key-constraints.html 正确的外键定义。