MySQL - ER_TRUNCATED_WRONG_VALUE:时间戳列上的不正确日期时间值截断错误。

4

我有一个MYSQL列,它被定义为时间戳。

每当我使用javascript的new Date()创建一行时,该值都会被正确存储,没有任何问题。

然而,当我想要更新该值,并向该列发送相同的new Date()时,我会遇到错误。

Error: ER_TRUNCATED_WRONG_VALUE: Incorrect datetime value: '2017-06-16T17:35:34.377Z' for column 'last_access'.

我可以将整个事情管理为Datetime,并相应地格式化日期以解决错误,但我想了解为什么会出现这种错误。

1个回答

1
日期必须按照“YYYY-MM-DD HH:MM:SS”格式进行格式化,以便与MariaDB兼容。
如果您想使用JS插入日期,请尝试创建自己的字符串。
const newDate: Date = new Date();
const dd = newDate.getDate();
const number = newDate.getMonth() + 1; // month start at 0, we have to add 1.
const yyyy = newDate.getUTCFullYear();

const insertString = `${yyyy}-${mm}-${dd}`;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接