Access97:INSERT INTO(如果不存在)

时间:2017-11-14 19:11:24

标签: sql ms-access ms-access-97

我需要做一个非常简单的任务:只有在表中不存在记录时才执行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

这不起作用,因为IF NOT EXISTS无效。

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

1 个答案:

答案 0 :(得分:2)

您可以将其构建为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' );
相关问题