繁体   English   中英

无法在 phpmyadmin 上创建表 #1067 错误

[英]Can't create table on phpmyadmin #1067 error

我无法在我的 phpmyadmin 上创建表......日期总是无效......我已经使用了 TIMESTAMP 和 DATETIME 数据类型......但仍然有一些错误...... mysql 版本:5.7.14,我正在使用 wamp 在此处输入图片说明

可能启用了严格模式和 NO_ZERO_DATE。 这对在零日期产生错误。

检查 SQL_MODE 并查看此页面 - NO_ZERO_DATE

将默认时间戳设置为:

CURRENT_TIMESTAMP 

您的date_crated值的默认值不正确。

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

TIMESTAMP 值的范围是“1970-01-01 00:00:01.000000”到“2038-01-19 03:14:07.999999”

通常,您应该将默认值设置为CURRENT_TIMESTAMP


重要的提示

此解决方案仅适用于 2038 年 1 月 19 日凌晨 3:14:07。 到撰写此答案时,大约还有 21 年。 所以对于未来的程序员来说,如果 MySQL 不更新/修复这个限制,你就会遇到问题,必须找到解决方法。

您的date_created列的类型为timestamp并且您将0000-00-00 00:00作为默认值,这对于时间戳不正确,您可以为此列选择CURRENT_TIMESTAMP

这个问题似乎没有解决办法。 无论我做什么,如果我使用 CURRENT_TIMESTAMP 或“1970....”,一个正常的有效日期,NULL,什么都没有,或者其他什么,即使我运行:

SET SQL_MODE='ALLOW_INVALID_DATES';

(该命令实际上成功了)

.. 但它仍然是错误 #1067。 没有任何帮助。

我现在转移到 Ubuntu,在那里我没有问题。

啊,我终于在 phpMyAdmin 中修复了它!

只需从 phpMyAdmin 中的 SQL 面板运行:

SHOW VARIABLES LIKE 'sql_mode';

就我而言,我在这里有 NO_ZERO_DATE。

然后我将它设置为我在我的 Ubuntu 系统上使用的:

set global sql_mode='NO_ENGINE_SUBSTITUTION';

现在一切都使用'0000-00-00 00:00'作为默认值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM