-1

在此处输入图像描述我只是尝试在 Linux Ubuntu 上使用 MariaDB 在 Yii 框架中进行注册表单

当我尝试创建用户时,我收到了这条消息::

enter code here
SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '1532870185' for column 'created_at' at row 1
The SQL being executed was: INSERT INTO `user` (`username`, `email`, `password_hash`, `auth_key`, `status`, `created_at`, `updated_at`) VALUES ('aha', 'aha@ccc.cc', '$2y$13$vRBQsfnP/xpy3DBQz7XqPONO8gmViygRVqJNMuJ0cN9oDW.erj//.', 'wwNyKbSpc4drIUz53u6HRXx6XYKWrLEV', 10, '1532870185', '1532870185')

Error Info: Array
(
    [0] => 22007
    [1] => 1292
    [2] => Incorrect datetime value: '1532870185' for column 'created_at' at row 1
)

↵
Caused by: PDOException
SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '1532870185' for column 'created_at' at row 1

我做了一些研究,时间到了,但我不明白我该怎么做

我尝试删除 NO_ZERO_DATE ,没有任何反应我尝试配置 U​​buntu 时间

但仍然是同样的问题?

有人可以帮忙吗

4

3 回答 3

0

代替

INSERT ... , '1532870185', ...

INSERT ... , FROM_UNIXTIME('1532870185'), ...

(在这种情况下,引号是可选的。)

作为测试:

mysql> select FROM_UNIXTIME('1532870185'),
              FROM_UNIXTIME(1532870185);
+-----------------------------+---------------------------+
| FROM_UNIXTIME('1532870185') | FROM_UNIXTIME(1532870185) |
+-----------------------------+---------------------------+
| 2018-07-29 06:16:25.000000  | 2018-07-29 06:16:25       |
+-----------------------------+---------------------------+

(几分之一秒应该是无害的。)

于 2018-08-18T22:21:04.913 回答
0

我有同样的问题并且可以解决它。您应该在用户模型中删除或注释此行:

public function behaviors()
{
    return [
        TimestampBehavior::className()
    ];
}
于 2019-07-15T17:58:02.083 回答
0

这是关于你的表定义。

日期时间格式是 : 2012-04-19 13:08:22,而不是1532870185(从你的例外,它的timestamp)。在将日期插入数据库之前,您必须将datetime格式更改为timestamp或更改日期格式。datetime

于 2018-07-29T14:57:51.963 回答