MySQL查询错误:日期时间值不正确

时间:2017-09-19 20:36:04

标签: mysql

我有一个存储论坛消息的表。它有一个名为date_modified的列,它非常明显。每当用户修改帖子时,该列都会更新为该行的当前时间。如果邮件从未被修改过,则它不应该有值。现在,每当我尝试修改表时,即使表修改与该列完全无关,我也会收到错误char **dyanmic; dyanmic = malloc(sizeof(char *)); *dyanmic = malloc(2 * sizeof(char)); stack->dynamicArray = dyanmic; 。为什么会发生这种情况?如何解决?

这是我的表:

Incorrect datetime value: '0000-00-00 00:00:00' for column 'date_modified' at row 1

3 个答案:

答案 0 :(得分:0)

使其为NULL,零日期和NULL日期不一样。

答案 1 :(得分:0)

MySQL文档说

  

服务器要求月和日值有效,而不仅仅是   分别在1到12和1到31的范围内。有严格的模式   已禁用,无效日期,例如' 2004-04-31'转换为   ' 0000-00-00'并生成警告。启用严格模式后,   无效日期会产生错误。

所以也许你试图用不正确的tymestamp格式插入值

答案 2 :(得分:0)

发生在我身上。我在expiry_date中找到了一个值为0000-00-00的行,该行是datetime列。我删除了这一行,终于可以更改表格了。