sql - 在 MS-access 中更新

标签 sql ms-access upsert

我需要为 MS-Access 2000 编写一个 SQL 查询,以便更新一行(如果存在),但如果不存在则插入。 (我相信这被称为“upsert”)

IE。

如果行存在...

UPDATE Table1 SET (...) WHERE Column1='SomeValue'

如果它不存在...
INSERT INTO Table1 VALUES (...)

这可以在一个查询中完成吗?

最佳答案

可以 使用 UPDATE 在 Access 中模拟 upsert用 LEFT JOIN 查询.

update b
left join a on b.id=a.id
set a.f1=b.f1
, a.f2=b.f2
, a.f3=b.f3

关于sql - 在 MS-access 中更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6199417/

相关文章:

java - MERGE 是 SQL 2008 中的原子语句吗?

sql - 如何使用约束对话框向 SQL Server 2008 添加约束?

java - 登录表单 : Compare username & password from database

forms - 是否可以运行仅影响连续形式中的一行的 VBA 代码?

ms-access - Access 权限 : Proper use of Nz in a query?

postgresql - UPSERT Postgres 9.5

sql - 如果记录已经存在,Slick 的 insertOrUpdate 能否修改列的子集?

mysql - 向列的内容添加文本?

php - 如何告诉 Paris/ORM 哪个表用于模型?

mysql - ORDER BY id 基于 IN 内的 id