mySQL:创建表时无法添加外键约束

时间:2019-01-25 19:45:20

标签: mysql foreign-keys

我要创建此表

Cannot add foreign key constraint 

但是我得到了这个错误:

WebClient

1 个答案:

答案 0 :(得分:2)

外键关系中涉及的列必须为同一类型。您有不同的类型,int(11)的{​​{1}}和t_plan.id的{​​{1}}。

同时将bigint(20)设为t_plan_x_currency.plan_id

t_plan.id

或者将bigint(20)设为CREATE TABLE `t_plan` ( `id` bigint(20) NOT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE `t_plan_x_currency` ( `plan_id` bigint(20) NOT NULL , `currency_symbol` varchar(20) NOT NULL DEFAULT 'EUR', `price` decimal(12,6) NOT NULL DEFAULT '0', PRIMARY KEY (`plan_id`,`currency_symbol`), CONSTRAINT `t_plan_x_currency_ibfk_1` FOREIGN KEY (`plan_id`) REFERENCES `t_plan` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ,这是您更想要的。