gpt4 book ai didi

php - MySQL - 忽略插入错误 : duplicate entry

转载 作者:IT老高 更新时间:2023-10-28 11:56:36 28 4
gpt4 key购买 nike

我正在使用 PHP。

请问将新记录插入具有唯一字段的数据库的正确方法是什么。我正在批量插入大量记录,我只想插入新记录,我不希望重复条目出现任何错误。

是否有唯一的方法首先进行 SELECT 并查看该条目是否在 INSERT 之前已经存在 - 并且仅在 SELECT 没有返回记录时才进行 INSERT?我希望不会。

我想以某种方式告诉 MySQL 忽略这些插入而不会出现任何错误。

谢谢

最佳答案

您可以使用 INSERT... IGNORE如果您不想在有重复记录时采取任何操作的语法。

您可以使用 REPLACE INTO如果您想用具有相同键的新记录覆盖旧记录,请使用语法。

或者,您可以使用 INSERT... ON DUPLICATE KEY UPDATE如果您想在遇到重复记录时对记录执行更新,请使用语法。

编辑:我想我会添加一些例子。

示例

假设您有一个名为 tbl 的表,其中包含两列 idvalue。有一个条目,id=1 和 value=1。如果您运行以下语句:

REPLACE INTO tbl VALUES(1,50);

您还有一条记录,id=1 value=50。请注意,整个记录首先被删除,然后重新插入。那么:

INSERT IGNORE INTO tbl VALUES (1,10);

操作成功执行,但没有插入任何内容。你仍然有 id=1 和 value=50。最后:

INSERT INTO tbl VALUES (1,200) ON DUPLICATE KEY UPDATE value=200;

您现在有一条 id=1 和 value=200 的记录。

关于php - MySQL - 忽略插入错误 : duplicate entry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/812437/

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