gpt4 book ai didi

sqlite - SQLite 中的 IF ELSE 条件

转载 作者:行者123 更新时间:2023-12-03 18:41:52 26 4
gpt4 key购买 nike

我是 SQLite 新手。

我正在 SQLite 中寻找 IF ELSE 以根据条件检查执行 UPDATEINSERT 操作。

我尝试的是:

IF EXISTS(SELECT 1 FROM TblTest WHERE ID = 1 AND Name = 'XYZ')
BEGIN
END
UPDATE TblTest
SET Address = 'NYC',
Mobile='102938340'
WHERE ID = 1 AND Name='XYZ'
ELSE
BEGIN
INSERT INTO TblTest(ID,Name,Address,Mobile)
VALUES(1,'XYZ','NYC','102938340');
END

出现错误:

Result: near "IF": syntax error

最佳答案

如果 IDName 不是您表的唯一组合,因此您不能使用 INSERT OR REPLACE,您可以执行这些声明:

UPDATE TblTest
SET Address = 'NYC',
Mobile='102938340'
WHERE ID = 1 AND Name='XYZ';

INSERT INTO TblTest(ID,Name,Address,Mobile)
SELECT 1,'XYZ','NYC','102938340'
WHERE NOT EXISTS(SELECT 1 FROM TblTest WHERE ID = 1 AND Name = 'XYZ');

如果表中没有 ID = 1 AND Name = 'XYZ' 的行,则 UPDATE 语句将不会更新任何内容,因为 中的条件>WHERE 子句将不返回任何内容。但是 INSERT 语句将插入新行。
如果有 ID = 1 AND Name = 'XYZ' 的行,则 UPDATE 语句将更新它,而 INSERT 语句将不会插入任何因为 NOT EXISTS 都会返回 FALSE

关于sqlite - SQLite 中的 IF ELSE 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57987373/

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