插入数据时出现MySQL错误1452
我在导入旧的SQL文件并修复它们时不断出错,但我被卡住了,无法理解这意味着什么 ALTER TABLE插入数据时出现MySQL错误1452,mysql,sa-mp,Mysql,Sa Mp,我在导入旧的SQL文件并修复它们时不断出错,但我被卡住了,无法理解这意味着什么 ALTER TABLEproperty添加约束property\u ibfk\u 1外键 (intid)在更新时删除级联时参考interiors(id) 级联,添加约束property\u ibfk\u 2外键(owner) 删除上的引用帐户(id)在更新级联上设置为空 MySQL说:文档 1452-无法添加或更新子行:外键约束失败(ionicnew#sql-252c_e1,约束属性_ibfk_2外键 删除上的键(o
property
添加约束property\u ibfk\u 1
外键
(intid
)在更新时删除级联时参考interiors
(id
)
级联,添加约束property\u ibfk\u 2
外键(owner
)
删除上的引用帐户(id
)在更新级联上设置为空
MySQL说:文档
1452-无法添加或更新子行:外键约束失败(ionicnew
#sql-252c_e1
,约束属性_ibfk_2
外键
删除上的键(owner
)引用帐户(id
)在上设置为空
更新(级联)
属性的完整代码
表格:
CREATE TABLE `property` (
`id` int(11) NOT NULL,
`x` float NOT NULL,
`y` float NOT NULL,
`z` float NOT NULL,
`a` float NOT NULL,
`type` bit(32) NOT NULL,
`intid` int(11) NOT NULL,
`name` varchar(128) NOT NULL,
`price` int(11) NOT NULL,
`mapicon` tinyint(3) UNSIGNED NOT NULL,
`status` tinyint(3) UNSIGNED NOT NULL,
`point` int(10) UNSIGNED NOT NULL,
`saleprice` int(11) NOT NULL DEFAULT '0',
`owner` int(11) DEFAULT NULL,
`money` int(11) NOT NULL DEFAULT '0',
`level` tinyint(3) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `property`
ADD PRIMARY KEY (`id`),
ADD KEY `intid` (`intid`),
ADD KEY `owner` (`owner`);
ALTER TABLE `property`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=86;
ALTER TABLE `property`
ADD CONSTRAINT `property_ibfk_1` FOREIGN KEY (`intid`) REFERENCES `interiors` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `property_ibfk_2` FOREIGN KEY (`owner`) REFERENCES `accounts` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;
如果需要,我可以上传完整的SQL文件
外键关系涉及一个包含
中心数据值,以及具有相同值的子表
回到它的父母身边。在子类中指定外键子句
桌子
它将拒绝尝试创建的任何插入或更新操作
如果没有匹配项,则子表中的外键值
父表中的候选键值
要了解更多信息,请访问此
所以你的错误代码是:1452。无法添加或更新子行:外键约束失败
本质上意味着,您试图将一行添加到属性
表中,内部
表中不存在与之匹配的行(intid)
您必须首先将该行插入您的interiors
表。您可以为interiors
和帐户添加表说明吗
我们需要查看属性中的数据
和其他两个引用表interiors
和帐户
。谢谢!我通过在导入页面中禁用外键检查解决了我的问题。欢迎@公平的