首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向表添加记录(外键约束失败)

向表添加记录(外键约束失败)
EN

Stack Overflow用户
提问于 2016-01-27 19:54:46
回答 1查看 97关注 0票数 1

我在将一些记录添加到我的表(grupy,登录(VARCHAR 32,主键,唯一),grupa(VARCHAR 10)时有问题。

当我尝试这个脚本时:

代码语言:javascript
复制
ALTER TABLE `grupy` ENGINE = InnoDB;

ALTER TABLE `grupy` ADD FOREIGN KEY ( `login` ) REFERENCES `issi`.`pracownicy` (`login`) ON DELETE CASCADE;


INSERT INTO `grupy` (`login`, `grupa`) VALUES
('administrator', 'zalogowany');

我有个错误:

错误代码1452,SQL状态23000:无法添加或更新子行:外键约束失败(issi.grupy,约束grupy_ibfk_1外键(login)引用pracownicy (login) )第6行,第1列

我做错什么了?

EN

回答 1

Stack Overflow用户

发布于 2016-01-27 20:00:29

我认为,当一个现有值无效时,即不在表中时,就会发生这种情况。您可以很容易地检查无效的值:

代码语言:javascript
复制
select g.*
from grupy g
where not exists (select 1 from issi.pracownicy p on p.login = g.login);

如果是这样的话,更改现有的值(例如,NULL),然后添加约束。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35046813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档