You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向表中插入page_name重复但其他字段不同的记录

解决page表重复page_name插入失败问题

问题根源

你遇到的报错是因为page表的page_name字段被设置了唯一约束(UNIQUE Index),数据库不允许该字段出现重复值;而IGNORE关键字的作用是忽略插入错误直接跳过这条记录,不会帮你插入新记录,所以达不到预期效果。

解决方案

方案1:删除page_name的唯一约束(推荐,若业务允许重复)

如果你的业务逻辑允许page_name存在重复值,直接删除该字段的唯一约束即可:

  1. 先查看表结构确认唯一索引名称:
SHOW CREATE TABLE page;
  1. 执行删除索引的SQL(替换idx_page_name为实际查到的索引名):
ALTER TABLE page DROP INDEX idx_page_name;

方案2:设置复合唯一约束(若需部分字段组合唯一)

如果需要保证page_name和其他字段的组合唯一(比如page_name+page_id),可以替换原有的单一唯一约束为复合索引:

-- 先删除原有的page_name唯一索引
ALTER TABLE page DROP INDEX idx_page_name;
-- 添加复合唯一索引
ALTER TABLE page ADD UNIQUE INDEX idx_page_name_page_id (page_name, page_id);

这样只要page_name和page_id的组合不重复,就能插入新记录。

代码修复提醒

你的PHP代码里存在语法错误:

$pageUrl = $val['slug'].

这里缺少分号或者后续拼接内容,会导致代码执行失败,需要修正为类似:

$pageUrl = $val['slug'];
// 或者拼接其他内容,比如:
// $pageUrl = $val['slug'] . '/some-path';

内容的提问来源于stack exchange,提问作者Atilla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 22:35:42