gpt4 book ai didi

Mysql ADDTIME函数给出错误截断不正确的时间值: '35 00:00:00'

转载 作者:行者123 更新时间:2023-11-29 10:40:19 27 4
gpt4 key购买 nike

尝试了解 ADDTIME() 的实际工作原理。
示例表:

CREATE TABLE table3 (
id INT(11) NOT NULL AUTO_INCREMENT,
update_time DATETIME NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB DEFAULT CHARSET=latin1;

示例数据:

+-----+-----------------------+
| id | update_time |
+-----+-----------------------+
| 1 | 2017-09-13 18:55:24 |
| 2 | 2017-08-10 18:53:16 |
+-----+-----------------------+

如果我执行以下查询,则会出现错误:

UPDATE table3 SET update_time = ADDTIME(NOW(), '60 00:00:00') WHERE id=1;  

Error Code: 1292
Truncated incorrect time value: '60 00:00:00'

尽管以下查询工作正常:

UPDATE table3 SET update_time = ADDTIME(NOW(), '5 00:00:00') WHERE id=1;  

尝试不断增加 DAY 的值,发现它在 DAY=34 之前工作正常,并在 DAY > 34 时中断;
无法找到明确的答案,为什么它会在限制后打破。有人可以解释一下它是如何工作的吗?
PS:我知道可以使用 DATE_ADD() 代替,我使用的是 MySql 5.7.12。

最佳答案

来自https://dev.mysql.com/doc/refman/5.7/en/time.html :

TIME values may range from '-838:59:59' to '838:59:59'

838:59:59 = 34 days 22 hours 59 minutes 59 seconds

关于Mysql ADDTIME函数给出错误截断不正确的时间值: '35 00:00:00' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45615794/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com