在MySQL 8中,当插入值以在ON DUPLICATE KEY UPDATE
语句中引用它时,可以指定行别名,如下所示:
INSERT INTO foo (id, col1, col2)
VALUES(123, 'foo', 'bar'), (321, 'bar', 'baz') as new_row
ON DUPLICATE KEY UPDATE col1 = new_row.col1, col2 = new_row.col2
这是取代旧的VALUES()
功能,见https://dev.mysql.com/worklog/task/?id=13325
不幸的是,我不能用jOOQ编写这个查询,因为InsertValuesStep
不允许我指定别名.是否有其他可能添加此别名,例如通过使用纯SQL DSL?