我在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
答案 0 :(得分:1)
我经常使用以下解决方案:
UPDATE Table1 RIGHT JOIN Table2
ON Table1.[KeyField] = Table2.[KeyField]
SET Table1.[KeyField] = Table2.[KeyField],
Table1.[OtherField] = Table2.[OtherField]
如果它位于Table2
,则会将其插入Table1
,覆盖值(更新),如果它已在Table1
中。