我无法向我的表添加简单的外键。我以前能够添加外键,但只能是 INT 或 BIGINT 类型。我正在尝试将其设为 VARCHAR 类型,但收到 1215 错误,说明无法添加外键约束。
导致失败的命令:
ALTER TABLE `TradingAccount`
ADD CONSTRAINT `email`
FOREIGN KEY (`owner_id`)
REFERENCES `User` (`email`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
owner_id 和 email 的数据类型均为 VARCHAR(255)。
我正在使用 MySQL Workbench,感觉存在一些配置错误,不允许我使用 varchar 进行外键约束?我是否需要设置 mysqlworkbench 来使用 INNODB 还是默认设置。
任何帮助都会很棒,干杯。
最佳答案
我猜测 TradingAccount.owner_id 和/或 OwnerMaster.owner_id 与 TradingAccount.owner_id 和 OwnerMaster.owner_id 的数据类型不完全相同。
关于mysql - SQL错误1215无法添加外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45979157/