生产环境导入后users表缺失自增,修改遇外键约束错误如何解决?
解决方法
由于users.id字段被designation_user表的外键designation_user_user_id_foreign引用,直接修改会触发约束限制,需要按以下步骤操作:
- 移除外键约束
先执行SQL删除关联表的外键:
ALTER TABLE `designation_user` DROP FOREIGN KEY `designation_user_user_id_foreign`;
- 为users表添加自增属性
执行你原本的修改语句,给id字段补上AUTO_INCREMENT:
ALTER TABLE `users` MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=56;
- 重新添加外键约束
恢复外键关联,保证表间关系正常:
ALTER TABLE `designation_user` ADD CONSTRAINT `designation_user_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users`(`id`);
注意:操作前建议备份相关表的数据,避免意外导致数据丢失。
内容的提问来源于stack exchange,提问作者Nage
相关产品推荐
相关产品推荐

