MySQL如何插入更新以设置转换时间?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (110)

在MySQL的INSERT UPDATE中更改时间不起作用。

代码:

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);

你有好主意吗?

提问于
用户回答回答于

你需要把作业放在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)

扫码关注云+社区

领取腾讯云代金券