我知道当我想要更新行时,我可以使用“ON DUPLICATE KEY UPDATE
”,否则插入。
但在我的情况下,我想基于非唯一键进行更新。
E.g:我有一个包含3列的表:A,B和C.它们共同形成唯一键。
现在我想更新行,如果B和C的值匹配,或者插入一个新行。
这可以在没有多个查询的情况下在MySQL中完成。
答案 0 :(得分:0)
如果有唯一键,您可以使用REPLACE INTO。如果您没有这些唯一值,则需要使用两个查询。查询1是选择更新,查询2是更新(如果返回的行数是> 0)或插入(如果没有返回行)