我正在尝试将此行从MS SQL Server移植到SQLite
IF NOT EXISTS(SELECT 1 FROM EVENTTYPE WHERE EventTypeName = 'ANI Received')
INSERT INTO EVENTTYPE (EventTypeName) VALUES ('ANI Received');
看起来SQLite不支持,如果不存在,或者至少我不能让它工作。我错过了什么简单的东西吗?有解决办法吗?
发布于 2009-02-10 05:30:35
这个怎么样?
INSERT OR IGNORE INTO EVENTTYPE (EventTypeName) VALUES 'ANI Received'
(未经测试,因为我没有SQLite...但是,this link非常具有描述性。)
此外,这也应该是可行的:
INSERT INTO EVENTTYPE (EventTypeName)
SELECT 'ANI Received'
WHERE NOT EXISTS (SELECT 1 FROM EVENTTYPE WHERE EventTypeName = 'ANI Received');
发布于 2014-04-23 13:04:00
如果要忽略现有值的插入,则表中必须有一个键字段。只需创建一个包含主键字段的表,如下所示:
CREATE TABLE IF NOT EXISTS TblUsers (UserId INTEGER PRIMARY KEY, UserName varchar(100), ContactName varchar(100),Password varchar(100));
然后插入或替换/插入或忽略表上的查询,如下所示:
INSERT OR REPLACE INTO TblUsers (UserId, UserName, ContactName ,Password) VALUES('1','UserName','ContactName','Password');
它不会让它重新输入现有的主键值...这是您可以检查表中是否存在某个值的方法。
https://stackoverflow.com/questions/531035
复制相似问题