Mariadb
卡在有條件地將記錄插入 MariaDB
我知道
insert ignore
。這是沒有用的,因為 MariaDB 不認為 NULL 是唯一索引的一部分。因此我必須使用
if ... else
.但是這段程式碼沒有執行:
select * from Nodes where `Key` = 'FAQPage'; if not found_row() then insert into Nodes (`Key`, ParentId) values ('FAQPage', null) end if;
如何使用
if ... else
有條件地在 MariaDB 中插入數據?
INSERT INTO Nodes (`Key`, ParentId) SELECT @key, @parentid WHERE NOT EXISTS ( SELECT NULL FROM Nodes WHERE `Key` <=> @key AND ParentId <=> @parentid )
@key
並且@parentid
是要插入的值的佔位符。因此,如果具有要插入的值的行已經存在,那麼子查詢會檢測到這一點,並且不會插入任何行。