mysql 使用当前时间戳的日期时间0000-00-00 00:00:00

3j86kqsm  于 2023-01-29  发布在  Mysql
关注(0)|答案(1)|浏览(390)

我正在运行xampp 3.3.0,mysql 8.0.在我的数据库中,有一列datetime类型为“datetime”.我尝试使用CURRENT_TIMESTAP在其中插入数据.查询示例:

INSERT INTO `statistics` (`chat_id`, `user_id`, `message_id`, `datetime`, `ai_unique`) VALUES ('988', '767', '98765', 'CURRENT_TIMESTAMP', NULL);

它插进去了,但我

Warning: #1265 Data truncated for column 'datetime' at row 1

它会插入0000-00- 00 00:00:00,而不是当前时间戳。不久前,它还能正常工作,但现在它会插入0000-00- 00 00:00:00。如果我在此处手动写入日期,例如2023-01-11 22:52:01,它也能正常工作

k4emjkb1

k4emjkb11#

'CURRENT_TIMESTAMP'(带单引号)是一个字符串。它没有datetime值。MySQL会努力将该字符串转换为datetime,就像将字符串'2023-01-24 13:09:00'转换为datetime一样。但您使用的字符串不能以这种方式转换。
CURRENT_TIMESTAMP(不带单引号的伪列)具有日期时间值。
CURRENT_TIMESTAMP()(函数)也返回日期时间值。

相关问题