mysql1452 错误代码_MySQL错误代码1452外键约束

我尝试创建两个表时收到错误.有一个多值的依赖,所以我分开了表并想出了这个:

CREATE TABLE NAME (

NameID Integer NOT NULL AUTO_INCREMENT,

Name varChar(255) NOT NULL,

CONSTRAINT NAME_PK PRIMARY KEY(NameID)

);

CREATE TABLE PHONE (

NameID Integer NOT NULL,

PhoneNumber varChar(15) NOT NULL,

NumType varChar(5) NOT NULL,

CONSTRAINT PHONE_FK FOREIGN KEY(NameID)

REFERENCES NAME(NameID),

CONSTRAINT PHONE_PK PRIMARY KEY(NameID)

);

但是在尝试使用此代码添加值时:

INSERT INTO NAME (NameID, Name) VALUES (default, 'John Doe');

INSERT INTO PHONE (NameID, PhoneNumber, NumType) VALUES (default, '706-782-4719', 'Home');

我收到臭名昭着的1452错误:

Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`phone_mcneill`.`PHONE`, CONSTRAINT `PHONE_FK` FOREIGN KEY (`NameID`) REFERENCES `NAME` (`NameID`))

我不完全确定这意味着什么,因为我在第一个表中有NameID自动增量.我不能在第二个中使用auto_increment以及它是外键,对吗?在此先感谢您的帮助.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值