gpt4 book ai didi

php - MySQL 外键约束不被尊重/遵守

转载 作者:行者123 更新时间:2023-11-30 01:08:46 27 4
gpt4 key购买 nike

在 mysql Ver 14.14 Distrib 5.1.66 上,对于未知的 linux-gnu (x86_64),存在未遵守/遵守 MySQL 外键约束的问题。

数据库/表结构从未被修改过,又名:这是原始且唯一的表结构。

这是标准 mysqldump 的结果。

-- Table structure for table `catalog_category_entity_int`

DROP TABLE IF EXISTS `catalog_category_entity_int`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `catalog_category_entity_int` (
`value_id` int(11) NOT NULL AUTO_INCREMENT,
`entity_type_id` smallint(5) unsigned NOT NULL DEFAULT '0',
`attribute_id` smallint(5) unsigned NOT NULL DEFAULT '0',
`store_id` smallint(5) unsigned NOT NULL DEFAULT '0',
`entity_id` int(10) unsigned NOT NULL DEFAULT '0',
`value` int(11) DEFAULT NULL,
PRIMARY KEY (`value_id`),
UNIQUE KEY `IDX_BASE` (`entity_type_id`,`entity_id`,`attribute_id`,`store_id`),
KEY `FK_ATTRIBUTE_INT_ENTITY` (`entity_id`),
KEY `FK_CATALOG_CATEGORY_EMTITY_INT_ATTRIBUTE` (`attribute_id`),
KEY `FK_CATALOG_CATEGORY_EMTITY_INT_STORE` (`store_id`),
CONSTRAINT `FK_CATALOG_CATEGORY_EMTITY_INT_ATTRIBUTE` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `FK_CATALOG_CATEGORY_EMTITY_INT_ENTITY` FOREIGN KEY (`entity_id`) REFERENCES `catalog_category_entity` (`entity_id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `FK_CATALOG_CATEGORY_EMTITY_INT_STORE` FOREIGN KEY (`store_id`) REFERENCES `core_store` (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE)
ENGINE=InnoDB AUTO_INCREMENT=1483 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

参见:

唯一 key IDX_BASE(entity_type_identity_idattribute_idstore_id)

Error:
Query:
INSERT INTO `catalog_category_entity_int` VALUES (1,3,32,0,2,1),(2,3,32,1,2,1),(6,3,32,0,4,1),[...];

MySQL said: Documentation
#1062 - Duplicate entry '3-144-40-0' for key 'IDX_BASE'

我从未见过这种情况发生,知道这是怎么可能的吗?

最佳答案

我能够复制此操作的唯一方法是关闭数据导入的外部/唯一检查:

SET FOREIGN_KEY_CHECKS = 0;
SET UNIQUE_CHECKS = 0;

这一定是在导入时设置的。不确定为什么有人会这样做,但是,那一定是发生过的事情。

关于php - MySQL 外键约束不被尊重/遵守,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19596765/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com