我在 Django 模型中添加了一个表“GameRatings”并使用 South 进行了迁移。该表与名为“游戏”的表具有一对一的关系。
迁移失败并显示以下错误消息:
2014-01-07 10:51:15,026] (0.505) CREATE TABLE
app_gameratingsmodel
(game_id
varchar(32) NOT NULL PRIMARY KEY,averageRating
double precision NOT NULL,numRatings
integer NOT NULL); args=[][2014-01-07 10:51:15,650] (0.294) ALTER TABLE
app_gameratingsmodel
ADD CONSTRAINTgame_id_refs_gameID_fe5d3728
FOREIGN KEY (game_id
) REFERENCESapp_gamemodel
(gameID
);; args=[]FATAL ERROR - The following SQL query failed: ALTER TABLE
app_gameratingsmodel
ADD CONSTRAINTgame_id_refs_gameID_fe5d3728
FOREIGN KEY (game_id
) REFERENCESapp_gamemodel
(gameID
);The error was: (1822, "Failed to add the foreign key constaint. Missing index for constraint 'game_id_refs_gameID_fe5d3728' in the referenced table 'app_gamemodel'")
我不明白 MySQL 在说什么索引。谁能帮忙?
谢谢。
最佳答案
当您尝试引用具有不同数据类型(例如 VARCHAR 到 INT 或者甚至 INT 到 UINT!)的两个列时,经常会发生这种情况。我总是忘记在 Workbench 中检查未签名的标记 :)
关于MySQL 添加外键约束失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20970119/