我有这个UPDATE MySQL语句,工作正常。
UPDATE table1
Inner Join table2
ON table2.id = table1.gw_id
SET table1.field1=1, table1.field2=2
WHERE table1.nick_no=4 AND table2.addr=123
我想转换此UPDATE语句,以便在找不到具有相同table1_nick_no
的行时可以添加新行。我相信使用INSERT INTO ON DUPLICATE KEY UPDATE是正确的方法。但是,我试了很久但都失败了。 Adding Inner join and where clause to INSERT INTO ON DUPLICATE KEY UPDATE
如何将此UPDATE语句转换为相应的INSERT INTO ON DUPLICATE KEY UPDATE语句?
答案 0 :(得分:0)
您正在寻找的是MERGE或UPSERT(UPDATE / INSERT的缩写)。在mySQL中,您可以按照以下链接
中的说明实现UPSEThttp://mechanics.flite.com/blog/2013/09/30/how-to-do-an-upsert-in-mysql/