首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用于设置changetime的MySQL插入更新

用于设置changetime的MySQL插入更新
EN

Stack Overflow用户
提问于 2018-07-12 06:01:18
回答 1查看 16关注 0票数 -1

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

代码:

代码语言:javascript
复制
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);

更改两个价格是可行的,但更改时间保持不变。

你有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-12 06:13:13

您需要将赋值放在bruttoladenpreis的最后。否则,后面的IF()表达式将使用更新后的值。因此,如果在运行查询时不是19,它将首先将其更改为19,然后下一次IF()测试将失败,它们将保持这些值不变。

代码语言:javascript
复制
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)

DEMO

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51294766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档