gpt4 book ai didi

php - 避免重复输入 mysql 数据库的最佳方法

转载 作者:行者123 更新时间:2023-11-29 18:15:10 26 4
gpt4 key购买 nike

我有一个包含 3 列的表 - id (pk)、pageId (fk)、名称。我有一个 php 脚本,它将大约 5000 条记录转储到表中,其中大约一半是重复的,具有相同的 pageId 和名称。 pageId 和名称的组合应该是唯一的。当我在 php 中循环执行脚本时,防止将重复项保存到表中的最佳方法是什么?

最佳答案

第一步是在表上设置一个唯一的键:

ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);

然后你必须决定当出现重复时你想要做什么。你应该:

  1. 忽略它?

    INSERT IGNORE INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo");
  2. 覆盖之前输入的记录?

    INSERT INTO thetable (pageid, name, somefield)
    VALUES (1, "foo", "first")
    ON DUPLICATE KEY UPDATE (somefield = 'first')

    INSERT INTO thetable (pageid, name, somefield)
    VALUES (1, "foo", "second")
    ON DUPLICATE KEY UPDATE (somefield = 'second')
  3. 更新一些计数器?

    INSERT INTO thetable (pageid, name)
    VALUES (1, "foo"), (1, "foo")
    ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1)

关于php - 避免重复输入 mysql 数据库的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47087822/

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