MySQL& PHPMyadmin - 无法创建关系

时间:2014-04-15 21:03:23

标签: mysql phpmyadmin foreign-keys

好的,所以我有一个包含许多表的数据库,但我特别遇到两个问题。一个被称为"资产",结构因此:

`assetid` varchar(5) NOT NULL,
`typeid` varchar(2),
`make` varchar(40),
`model` varchar(40),
`serno` varchar(40),
`opsys` varchar(40),
`ownerid` varchar(4)L,
`locid` varchar(4),
`purdate` date,
`insdate` date,
`remdate` date,
`dispdate` date,
`techid` varchar(3)

另一个被称为"供应商":

`suppid` varchar(3) NOT NULL,
`suppname` varchar(40),
`assetid` varchar(5),
`lastpurdate` date,

"资产"我的PK是assetID。在供应商中,我最初有一个PK作为suppid和assetid。但是,我无法创建将supplier.assetid链接到asset.assetid的关系。我不允许在PHPMyAdmin中这样做,所以我从供应商处删除了assetid,并将suppid添加到资产中。我想在资产中使用suppid外键,但是当我尝试这样做时,我得到了这个:

#1452 - Cannot add or update a child row: a foreign key constraint fails (`assettracker`.`#sql-15c4_672`, CONSTRAINT `#sql-15c4_672_ibfk_6` FOREIGN KEY (`suppid`) REFERENCES `supplier` (`suppid`) ON DELETE SET NULL ON UPDATE NO ACTION)

为什么我不允许这样做?

1 个答案:

答案 0 :(得分:0)

试试这个

ALTER TABLE tableName ENGINE = InnoDB;

这有用吗?