Drupal PDOException:SQLSTATE[23000]:完整性约束冲突:1062键“PRIMARY”的重复项“308”:插入到{node}

Drupal PDOException:SQLSTATE[23000]:完整性约束冲突:1062键“PRIMARY”的重复项“308”:插入到{node},drupal,Drupal,我今天在使用Drupal 7.22的网站上遇到了一个大问题 此问题出现在管理员创建新节点时 PDOException:SQLSTATE[23000]:完整性约束冲突:1062键“PRIMARY”的重复条目“308”:插入到{node}nid、vid、类型、语言、标题、uid、状态、创建、更改、注释、升级、粘贴、tnid、翻译值:db_插入_占位符0、:db_插入_占位符1、:db_插入_占位符2、:db_插入_占位符3、,:db_insert_placeholder_4、:db_insert_p

我今天在使用Drupal 7.22的网站上遇到了一个大问题

此问题出现在管理员创建新节点时

PDOException:SQLSTATE[23000]:完整性约束冲突:1062键“PRIMARY”的重复条目“308”:插入到{node}nid、vid、类型、语言、标题、uid、状态、创建、更改、注释、升级、粘贴、tnid、翻译值:db_插入_占位符0、:db_插入_占位符1、:db_插入_占位符2、:db_插入_占位符3、,:db_insert_placeholder_4、:db_insert_placeholder_5、:db_insert_placeholder_6、:db_insert_placeholder_7、:db_insert_placeholder_8、:db_insert_placeholder_9、:db_insert_placeholder_11、:db_insert_placeholder_12、:db_insert_placeholder_13;数组[:db\u insert\u placeholder\u 0]=>308[:db\u insert\u placeholder\u 1]=>308[:db\u insert\u placeholder\u 2]=>evements[:db\u insert\u placeholder\u 3]=>fr[:db\u insert\u placeholder\u 4]=>TEST[:db\u insert\u placeholder\u 5]=>1[:db\u insert\u placeholder\u 6]=>0[:db\u insert\u placeholder\u 7]=>1381955[:db\u placeholder\u[:db\u insert\u placeholder\u 9]=>1[:db\u insert\u placeholder\u 10]=>0[:db\u insert\u placeholder\u 11]=>0[:db\u insert\u placeholder\u 12]=>0[:db\u insert\u placeholder\u 13]=>0 dans drupal\u write\u record ligne 7136 dans/var/www/carioca/includes/common.inc

我已经检查了数据库,最后一个节点id是294

有人知道如何解决这个问题吗


谢谢您的帮助。

执行以下mysql查询时,您有结果吗

SELECT * FROM node WHERE nid = 308;

如果您的数据库有一个PhpMyAdmin,请查看以下表:node&node_revision。可能是因为其中有不同的索引,导致无法插入id

您的问题不是数据库中已经有一个条目,而是节点和节点修订版或其他表与其他表具有不同的状态。数据库中的数据似乎不一致

模块中是否有自定义表句柄?请修复Id问题,并使用node\u load或user\u load Drupal API函数代替自定义DB调用


如果您使用的是Drupal 6,请查看node_counter表,其中可能有旧值。

Nothing,如前所述,表中的最后一个nid id是294.oops!!!事实上,这是导致问题的一条规则。此规则用于从站点地图中删除未发布的节点。使用此规则时,某些值会发生更改该节点然后该节点被保存。我已取消激活该规则,现在一切正常。对此,我很抱歉,我只需要找到另一种方法将节点从站点地图中正确删除。确定:,奇怪的是,对于不希望包含在站点地图中的节点,nid会发生更改。您正在使用哪个模块生成站点地图?I使用XML sitemap 7.x-2.0-rc2,但存在一个问题:未发布的节点在站点地图中发布,导致Google Bot出现探索错误。这就是为什么我创建了一个规则来从站点地图中删除未发布的节点。我刚刚使用相同的模块版本/7.x-2.0-rc2进行了测试。未发布的节点不包括在站点地图中ml,但它不是直接更新的。假设您已经发布了节点,xml站点地图是参照您的节点生成的,节点是未发布的…您需要等待下一个cron,以便重新生成站点地图xml,这将删除未发布的节点。也许可以挂接节点_更新,并在自定义模块中自己重新生成它?您太棒了雷特·弗朗西斯:你是我y项目的转折点。