编辑:
我的问题是因为桌子使用不同的发动机。表Chart使用MyISAM,Chartdata使用InnoDB。
我有一个非常简单的数据库模型,但由于某种原因,我不能得到外键工作。我已经用Mysql工作台创建了数据库,并且在'Chart'表中有两行id为3和4。当我试图在chartdata中添加行时,会出现以下错误:

INSERT INTO `charts`.`Chartdata` (

`idChartdata` ,
`param1` ,
`param2` ,
`Chart_id`
)
VALUES (
NULL , '2012-01-10 05:00:00', '58', '3'
)

图表
我确信外键存在,并且我已经尝试重新创建表的时间(微小的变化)。
链接到数据库模型:http://i.stack.imgur.com/qKZlh.png
这是来自PhpMyAdmin的SQL转储:
CREATE TABLE IF NOT EXISTS `Chartdata` (

#1452 - Cannot add or update a child row: a foreign key constraint fails (int(11)非空自动递增,
.varchar(500)默认为空,
, CONSTRAINTvarchar(500)默认为空,
FOREIGN KEY (int(11)不为空,
主键() REFERENCES(),
) ON DELETE CASCADE ON UPDATE CASCADE)idChartdata
)引擎=InnoDB默认字符集=latin1 AUTO_INCREMENT=10;
更改表param1
在DELETE CASCADE ON UPDATE CASCADE上添加约束param2外键(Chart_id)引用idChartdataChart_id);

最佳答案

我的问题是因为桌子使用不同的发动机。表Chart使用MyISAM,Chartdata使用InnoDB。

关于mysql - MySQL错误#1452-无法添加或更新子行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8801918/

10-12 07:35
查看更多