【发布时间】:2011-02-01 17:32:45
【问题描述】:
在 mySQL 数据库中使用外键进行我的第一次试验并尝试进行插入,但由于这个原因而失败:Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails
这是否意味着外键限制了每个表上的 INSERTS 以及 DELETES 和/或 UPDATES 是通过外键关系强制执行的?
谢谢!
更新说明:
Products
----------------------------
id | type
----------------------------
0 | 0
1 | 3
ProductsToCategories
----------------------------
productid | categoryid
----------------------------
0 | 0
1 | 1
产品表具有以下结构
CREATE TABLE IF NOT EXISTS `alpha`.`products` (
`id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT ,
`type` TINYINT(2) UNSIGNED NOT NULL DEFAULT 0 ,
PRIMARY KEY (`id`) ,
CONSTRAINT `funkyfunky`
FOREIGN KEY (`id` )
REFERENCES `alpha`.`ProductsToCategories` (`productid` )
ON DELETE CASCADE,
ON UPDATE CASCADE)
ENGINE = InnoDB;
【问题讨论】:
标签: mysql database database-design foreign-keys