[英]phpmyadmin mysql foreign key
phpmyadmin版本:4.1.14
数据库引擎:InnoDB
索引已设置:
ALTER TABLE `tbl_name` ADD INDEX( `user_id`);
我的查询:
ALTER TABLE `tbl_name` ADD FOREIGN KEY (`user_id`) REFERENCES `<db_name>`.`user`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
但我仍然有错误:
#1215 - Impossible d'ajouter des contraintes d'index externe
在mysql文档中此错误:
Erreur: 1215 SQLSTATE: HY000 (ER_CANNOT_ADD_FOREIGN)
怎么了,我必须做什么才能解决这个问题? 也许我忘记了phpmyadmin设置中的某些内容?
问题已解决,我将UNSIGNED添加到索引列(对于user_id)
`user_id` INT UNSIGNED NOT NULL ,
我认为,具有关系的字段必须具有相同的属性
如果在用户表id
主键数据类型为INT,那么在发布表中, user_id
外键数据类型应为INT NOT NULL
对我来说,我在父表和子表的行中使用了不同的类型 :
我在child_table_key_id
使用Int
,在id
使用BigInt
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.