phpmyadmin mysql外键
phpmyadmin版本:4.1.14 数据库引擎:InnoDB 已设置索引:phpmyadmin mysql外键,mysql,phpmyadmin,foreign-keys,Mysql,Phpmyadmin,Foreign Keys,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; 在mysql文档中,此错误: Erreur:
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;
在mysql文档中,此错误:
Erreur: 1215 SQLSTATE: HY000 (ER_CANNOT_ADD_FOREIGN)
出了什么问题,我必须做些什么来解决这个问题?
也许我在phpmyadmin设置中忘了什么?
问题解决了,
im向索引列添加未签名(对于用户id)
我认为,如果在用户表
id
主键数据类型INT
然后在post表中,用户id外键数据类型应为INT不为空
对我来说,我在父表和子表的行中使用了不同的类型:
我在
child\u table\u key\u id
中使用了Int
,在id
中使用了BigInt
您是否真的试图将user
指定为目标表的名称?不,它只是占位符,查询类似于:ALTER tablepost
添加外键(user\u id
)更新无操作时删除级联上的参考alicelf\u引擎用户(id
);
Erreur: 1215 SQLSTATE: HY000 (ER_CANNOT_ADD_FOREIGN)
`user_id` INT UNSIGNED NOT NULL ,