MS Access 2010 - 条件插入/更新声明

时间:2013-10-14 04:28:21

标签: sql database ms-access conditional ms-access-2010

我在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

1 个答案:

答案 0 :(得分:1)

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

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

如果它位于Table2,则会将其插入Table1,覆盖值(更新),如果它已在Table1中。