繁体   English   中英

phpmyadmin mysql外键

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM