Access97:如果不存在,则插入



我需要做一个非常简单的任务:仅当表中不存在记录时才执行 INSERT INTO 查询。我找到了很多提示,但没有一个在SQL Access97中起作用。

例:

IF NOT EXISTS ( SELECT 1 FROM Users WHERE FirstName = 'John' AND LastName = 'Smith' )
BEGIN
    INSERT INTO Users (FirstName, LastName) VALUES ('John', 'Smith')
END

这将不起作用,因为"如果不存在"无效。

在一个 SQL 子句中执行此操作的正确方法是什么?

你可以

把它构建到一个insert . .. select

INSERT INTO Users (FirstName, LastName)
    SELECT TOP 1 'John', 'Smith'
    FROM Users
    WHERE NOT EXISTS ( SELECT 1 FROM Users WHERE FirstName = 'John' AND LastName = 'Smith' );

相关内容

  • 没有找到相关文章

最新更新