mysql插入更新以设置changetime

4si2a6ki  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(209)

在mysql的insert update中,更改changetime并不意味着´不起作用。
代码:

INSERT INTO g_ladenpreis 
(ordernumber,changetime,bruttoladenpreis,bruttouvp) 
VALUES (71057375,'2018-07-11 23:55:21',19,39.95) 
ON DUPLICATE KEY UPDATE 
bruttoladenpreis = IF(19 != bruttoladenpreis, 19, bruttoladenpreis), 
bruttouvp = IF(19 != bruttoladenpreis, 39.95, bruttouvp), 
changetime = IF(19 != bruttoladenpreis, '2018-07-11 23:55:21', changetime);

改变这两个价格是可行的,但是改变时间是一样的。
你有什么主意吗?

nkkqxpd9

nkkqxpd91#

你得把作业交给我 bruttoladenpreis 最后一个。否则 IF() 之后的表达式将使用更新后的值。如果不是的话 19 运行查询时,它将首先将其更改为 19 ,然后是下一个 IF() 测试将失败,它们将保持相同的值。

INSERT INTO g_ladenpreis 
(ordernumber,changetime,bruttoladenpreis,bruttouvp) 
VALUES (71057375,'2018-07-11 23:55:21',19,39.95) 
ON DUPLICATE KEY UPDATE 
bruttouvp = IF(19 != bruttoladenpreis, 39.95, bruttouvp), 
changetime = IF(19 != bruttoladenpreis, '2018-07-11 23:55:21', changetime),
bruttoladenpreis = IF(19 != bruttoladenpreis, 19, bruttoladenpreis)

演示

相关问题