gpt4 book ai didi

mysql - 如果记录不存在则插入数据库?

转载 作者:行者123 更新时间:2023-11-29 23:52:34 27 4
gpt4 key购买 nike

我一直在寻找一种方法来尝试这个,到目前为止,答案是使用 INSERT IGNORE语法,但我的问题是我不会使用 id。

如果您不知道记录 ID,是否可以仅在记录不存在时将其插入数据库?

例如:我想检查 col1 中的数据是否存在('Hello') 尚不存在。

INSERT IGNORE INTO table_name (col1, col2) values ('Hello', 1);

现有记录:

+--------------------+
| table_name |
+--------------------+
| id | col1 | col2 |
+--------------------+
| 2 | Hello | 1 |
| | | |

最佳答案

我相信ON DUPLICATE KEY UPDATE适合您的情况

示例查询:

INSERT INTO table_name (id, col1, col2) VALUES (1,'Hello', 1)
ON DUPLICATE KEY UPDATE col1 = col1,col2 = col2;

更新:我已在查询中添加了 id 列值。此查询检查id=1是否已存在,则不会插入,如果不存在则插入

更新

<小时/>如果您想检查 col1 列的重复项,则必须在此列上添加 unique constrain

ALTER TABLE table_name ADD UNIQUE (col1)

现在插入和检查重复的查询是:

INSERT INTO table_name (col1, col2) VALUES ('Hello', 1)
ON DUPLICATE KEY UPDATE col1 = col1,col2 = col2;

If you specify ON DUPLICATE KEY UPDATE, and a row is inserted that would cause a duplicate value in a UNIQUE index or PRIMARY KEY

关于mysql - 如果记录不存在则插入数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25540889/

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