gpt4 book ai didi

mysql - SQL检查是否存在行,如果不存在则插入并返回它

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

我的 sql 查询有问题。我需要插入一个数据,需要首先检查它是否存在。如果数据存在,则 sql 查询必须返回它,如果不存在,则插入并返回它。我已经用谷歌搜索过了,但结果不太适合我的问题。我已经读过这篇文章了。

Check if a row exists, otherwise insert How to 'insert if not exists' in MySQL?

这是我正在思考的一个查询。

INSERT INTO @tablename(@field, @conditional_field, @field, @conditional_field) 
VALUES(
"value of field"
(SQL QUERY THAT CHECK IF THERE IS AN EXISTING DATA, IF NOT INSERT THE DATA and RETURN IT, IF YES return it),
"value of feild",
(SQL QUERY THAT CHECK IF THERE IS AN EXISTING DATA, IF NOT INSERT THE DATA and RETURN IT, IF YES return it)
);

请注意,条件字段是必填字段,因此不能为 NULL。

最佳答案

您的标签集非常奇怪,我不确定您是否需要列出的所有技术,但只要 Firebird 涉及,就会有 UPDATE OR INSERT ( link ) 构造。代码可能是这样的

UPDATE OR INSERT INTO aTable
VALUES (...)
MATCHING (ID, SomeColumn)
RETURNING ID, SomeColumn

请注意,这仅适用于 PK 比赛,没有复杂的逻辑可用。如果这不是一个选项,您可以使用 EXECUTE BLOCK,它具有存储过程的所有功能,但像平常的查询一样执行。如果两个客户端同时执行更新,您将遇到并发更新错误。

关于mysql - SQL检查是否存在行,如果不存在则插入并返回它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26459356/

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