我正在尝试编写一个查询来检查记录是否存在(基于几个子句而不是唯一标识符)如果这样的搜索返回记录,那么我需要更新所有找到的记录,如果没有找到那么我需要插入记录。请注意,我不能使用 IF EXISTS 因为我正在尝试查询客户端脚本而不是服务器端。所以我想到了 INSERT INTO .... ON DUPLICATE KEY
我可以在不知道行键标识符的情况下执行此操作吗?因此,如果我找到 accountid = 17 和 name = 'Mike' 的记录,然后如果没有带有这 2 个子句的记录,则更新它以使名称为“Mike A”,然后插入一条记录。
这是给我一个语法错误的尝试
INSERT INTO test (name, accountid) VALUES ('Mike', 17)
ON DUPLICATE KEY
UPDATE test SET name='Mike A' WHERE name ='Mike' AND accountid = 17
这种方法可以处理我想要做的事情吗?如果是,那么您能纠正我的语法吗?
谢谢