SQLite 中的 IF NOT EXISTS 怎么办

2021-12-08 00:00:00 sql sqlite

我正在尝试将此行从 MS SQL Server 移植到 SQLite

I am trying to port this line from MS SQL Server to SQLite

IF NOT EXISTS(SELECT 1 FROM EVENTTYPE WHERE EventTypeName = 'ANI Received') 
    INSERT INTO EVENTTYPE (EventTypeName) VALUES ('ANI Received');

似乎 SQLite 不支持 IF NOT EXISTS 或至少我无法使其工作.我错过了一些简单的东西吗?有解决方法吗?

It seems that SQLite does not support IF NOT EXISTS or at least I can't make it work. Am I missing something simple? Is there a workaround?

推荐答案

这个怎么样?

INSERT OR IGNORE INTO EVENTTYPE (EventTypeName) VALUES 'ANI Received'

(未经测试,因为我没有 SQLite ......但是这个链接非常具有描述性.)

(Untested as I don't have SQLite... however this link is quite descriptive.)

此外,这也应该有效:

INSERT INTO EVENTTYPE (EventTypeName)
SELECT 'ANI Received'
WHERE NOT EXISTS (SELECT 1 FROM EVENTTYPE WHERE EventTypeName = 'ANI Received');

相关文章