gpt4 book ai didi

mysql - 将 SELECT 和 INSERT 查询组合成一个...可能吗?

转载 作者:太空宇宙 更新时间:2023-11-03 11:11:20 24 4
gpt4 key购买 nike

试图找出一个 MySQL 语句,这是一个一般的查询问题,所以我没有使用任何集合索引...所以请耐心等待。 :)

有没有办法结合这两个查询。

SELECT * FROM tableName WHERE ID='123';
if (NUM_ROWS == 0) {
INSERT INTO tableName (ID) VALUES (123)
}

基本上,我想检查某个条目是否存在,如果不存在,我想创建它。我想我也许可以访问数据库一次而不是两次。

最终目标是仅当行不存在时才创建该行。

谢谢!

最佳答案

如果 ID 列是 PRIMARY KEY 或具有 UNIQUE 约束,则只需尝试使用 IGNORE< 添加它 这样你就不会收到任何错误消息(只有警告):

INSERT IGNORE INTO tableName (ID) 
VALUES (123)

如果不是,这通常会起作用:

INSERT INTO tableName (ID)
SELECT 123
FROM dual
WHERE NOT EXISTS
( SELECT *
FROM tableName
WHERE ID = 123
)

关于mysql - 将 SELECT 和 INSERT 查询组合成一个...可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8350598/

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