如果我有这样的查询,我怎么能引用我在update语句中给出的值,这样我就不需要再次插入相同的数据了?示例我想用'xxx'更新col1值,但现在我需要在重复语句中再次输入'xxx'.反正有没有在重复声明中引用这些值?
INSERT INTO TABLENAME(col1, col2)
VALUES (’xxx’, ‘yyy’)
ON DUPLICATE KEY UPDATE col1 = ‘zzz’
Run Code Online (Sandbox Code Playgroud)
Jos*_*ell 33
这应该工作,并且更优雅:
INSERT INTO TABLENAME(col1, col2)
VALUES (’xxx’, ‘yyy’)
ON DUPLICATE KEY UPDATE col1 = VALUES(col1)
Run Code Online (Sandbox Code Playgroud)
请注意,您无需更新行的主键部分.我们知道这是相同的,因为发生了碰撞.