0

我在 MS Access 中有 2 个查询。一个将新用户插入到数据库表中,如果密钥存在于数据库中,另一个更新用户的记录。

有没有办法可以合并两个查询,如果记录不存在则插入记录,但如果存在则更新它?

就像是

-- IF username doesn't exist in the database --
INSERT INTO table_user ( username, gender ) VALUES ( @username, @gender )
-- ELSE --
UPDATE table_user SET gender = @gender WHERE username = @username
4

1 回答 1

1

我经常使用以下解决方案:

UPDATE Table1 RIGHT JOIN Table2
ON Table1.[KeyField] = Table2.[KeyField]
SET Table1.[KeyField] = Table2.[KeyField],
Table1.[OtherField] = Table2.[OtherField]

如果它在 中Table2,它将被插入Table1,覆盖值(更新),如果它已经在Table1.

于 2013-10-14T08:22:05.120 回答