精华内容
下载资源
问答
  •  vim /etc/my.cnf 在[mysqld]下面添加如下列: sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION :idea: ok问题解决,现在你导入或者创建...

    最近把mysql升级到5.7了,wordpress导数据报错

    Invalid default value for 'comment_date'

    原因出在类似这样的语句

    DROP TABLE IF EXISTS `wp_comments`;

    CREATE TABLE `wp_comments` (

    ...

    `comment_date` datetime(0) NOT NULL DEFAULT '0000-00-00 00:00:00',

    `comment_date_gmt` datetime(0) NOT NULL DEFAULT '0000-00-00 00:00:00',

    ...

    INDEX `comment_author_email`(`comment_author_email`(10)) USING BTREE

    ) ENGINE = InnoDB AUTO_INCREMENT = 35 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_520_ci ROW_FORMAT = Dynamic;

    这种报错多是你mysql升级到5.7而引起的默认值不兼容的问题。看看你的字段名是什么,我的是时间字段,类型是datetime。想到可能是类型的默认值被限制了,查看 sql_mode。果然:NO_ZERO_IN_DATE,NO_ZERO_DATE这两个参数限制时间不能为0

    查看 sql_mode

    mysql> show variables like 'sql_mode';

    +---------------+-------------------------------------------------------------------------------------------------------------------------------------------+

    | Variable_name | Value |

    +---------------+-------------------------------------------------------------------------------------------------------------------------------------------+

    | sql_mode | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |

    +---------------+-------------------------------------------------------------------------------------------------------------------------------------------+

    row in set (0.00 sec)

    mysql>

    利用Navicat for MySQL查看sql_mode,【工具>命令列界面】如图:

    82dee139536102db001700a595212df2.png

    临时修改:

    mysql> set session

    -> sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

    Query OK, 0 rows affected, 1 warning (0.00 sec)

    mysql>

    永久修改:

    可以直接修改my.cnf文件

    例如:     vim /etc/my.cnf

    在[mysqld]下面添加如下列:

    sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

    :idea: ok问题解决,现在你导入或者创建表时看看!

    站长按:

    windows系统,修改my.ini

    我用的是wamp,可以直接通过wamp菜单修改my.ini,也可以找到文件D:\wamp64\bin\mysql\mysql5.7.14\my.ini修改。

    需要注意wamp调用的是my.ini或是my-default.ini,否则改了半天可能不管用

    展开全文
  • 这种报错多是你 MySQL 升级到 5.7 而引起的默认值不兼容的问题。看看你的字段名是什么,我的是时间字段,类型是 datetime。想到可能是类型的默认值被限制了,查看 sql_mode。果然:NO_ZERO_IN_DATE,NO_ZERO_DATE 这...

    这种报错多是你 MySQL 升级到 5.7 而引起的默认值不兼容的问题。看看你的字段名是什么,我的是时间字段,类型是 datetime。想到可能是类型的默认值被限制了,查看 sql_mode。果然:NO_ZERO_IN_DATE,NO_ZERO_DATE 这两个参数限制时间不能为0

    9707a14fd19aba253e2fe64a0816fd61.png

    12cd1cb7e5adaa88ffdf433736b2a0fc.png

    查看 sql_mode

    show variables like 'sql_mode;

    mysql> show variables like 'sql_mode';

    +---------------+-------------------------------------------------------------------------------------------------------------------------------------------+

    | Variable_name | Value |

    +---------------+-------------------------------------------------------------------------------------------------------------------------------------------+

    | sql_mode | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |

    +---------------+-------------------------------------------------------------------------------------------------------------------------------------------+

    1 row in set (0.01 sec)

    临时修改:

    mysql> set session

    -> sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

    Query OK, 0 rows affected, 1 warning (0.00 sec)

    永久修改:

    可以直接修改 my.cnf 文件

    vim /etc/my.cnf

    在[mysqld]下面添加如下列:

    sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

    cebcb186def38aa64d17740205f5399b.png

    展开全文
  • 导入数据库提示错误[Err] 1067 - Invalid default value for 'date_added' 查找字段date_added,发现结果为`date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', 完整脚本: DROP TABLE IF EXISTS `...

     

    一、问题详情
    Linux服务器下,mysql版本5.7.22
    导入数据库提示错误[Err] 1067 - Invalid default value for 'date_added'
    查找字段date_added,发现结果为`date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
    完整脚本:
    DROP TABLE IF EXISTS `attachments`;
    CREATE TABLE `attachments` (
      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `fk_id` varchar(10) NOT NULL DEFAULT '0',
      `fk_table` varchar(250) DEFAULT '',
      `title` varchar(250) DEFAULT '',
      `description` varchar(250) DEFAULT '',
      `file_name` varchar(250) NOT NULL DEFAULT '',
      `file_path` varchar(250) DEFAULT '',
      `file_size` int(11) NOT NULL DEFAULT '0',
      `file_type` varchar(250) NOT NULL DEFAULT '',
      `date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
      `content` longblob,
      `compression_type` int(11) NOT NULL DEFAULT '0',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    二、原因
    网上查询说与NO_ZERO_IN_DATE和NO_ZERO_DATE有关系
    1、NO_ZERO_IN_DATE:
    在严格模式,不接受月或日部分为0的日期。如果使用IGNORE选项,我们为类似的日期插入'0000-00-00'。在非严格模式,可以接受该日期,但会生成警告。

    2、NO_ZERO_DATE:
    在严格模式,不要将 '0000-00-00'做为合法日期。你仍然可以用IGNORE选项插入零日期。在非严格模式,可以接受该日期,但会生成警告

    三、验证NO_ZERO_IN_DATE和NO_ZERO_DATE
    mysql执行select @@sql_mode;
    结果:ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    果然里面有NO_ZERO_IN_DATE,NO_ZERO_DATE

    四、解决办法
    修改my.cnf中的sql_mode值,如果没有sql_mode,就自己添加,添加时去掉NO_ZERO_IN_DATE,NO_ZERO_DATE这2个值,切记写在[mysqld]的下面不然不起作用,如下
    [mysqld]
    sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION;

    五、结果
    数据库成功导入,没有出现类型这样的错误[Err] 1067 - Invalid default value for 'date_added'.....

    转载请注明:谷谷点程序 » linux nacicat导入mysql数据库错误Invalid default value for 'date_added'(sql_mode值的原因 )

    展开全文
  • 最近把mysql升级到5.7了,wordpress导数据报错 Invalid default value for 'comment_date' 原因出在类似这样的语句 ...BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION ok问题解决,现在你导入或者创建表时看看!

    最近把mysql升级到5.7了,wordpress导数据报错

    Invalid default value for 'comment_date'

    原因出在类似这样的语句

    DROP TABLE IF EXISTS`wp_comments`;CREATE TABLE`wp_comments` (

    `comment_ID`bigint(20) UNSIGNED NOT NULLAUTO_INCREMENT,

    `comment_post_ID`bigint(20) UNSIGNED NOT NULL DEFAULT 0,

    `comment_author` tinytextCHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL,

    `comment_author_email`varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',

    `comment_author_url`varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',

    `comment_author_IP`varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',

    `comment_date`datetime(0) NOT NULL DEFAULT '0000-00-00 00:00:00',

    `comment_date_gmt`datetime(0) NOT NULL DEFAULT '0000-00-00 00:00:00',

    `comment_content`text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL,

    `comment_karma`int(11) NOT NULL DEFAULT 0,

    `comment_approved`varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '1',

    `comment_agent`varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',

    `comment_type`varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',

    `comment_parent`bigint(20) UNSIGNED NOT NULL DEFAULT 0,

    `user_id` bigint(20) UNSIGNED NOT NULL DEFAULT 0,PRIMARY KEY(`comment_ID`) USING BTREE,INDEX`comment_post_ID`(`comment_post_ID`) USING BTREE,INDEX`comment_approved_date_gmt`(`comment_approved`, `comment_date_gmt`) USING BTREE,INDEX`comment_date_gmt`(`comment_date_gmt`) USING BTREE,INDEX`comment_parent`(`comment_parent`) USING BTREE,INDEX `comment_author_email`(`comment_author_email`(10)) USING BTREE

    ) ENGINE= InnoDB AUTO_INCREMENT = 35 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_520_ci ROW_FORMAT = Dynamic;

    这种报错多是你mysql升级到5.7而引起的默认值不兼容的问题。看看你的字段名是什么,我的是时间字段,类型是datetime。想到可能是类型的默认值被限制了,查看 sql_mode。果然:NO_ZERO_IN_DATE,NO_ZERO_DATE这两个参数限制时间不能为0

    查看 sql_mode

    mysql> show variables like 'sql_mode';+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+

    | Variable_name | Value |

    +---------------+-------------------------------------------------------------------------------------------------------------------------------------------+

    | sql_mode | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |

    +---------------+-------------------------------------------------------------------------------------------------------------------------------------------+

    1 row in set (0.00sec)

    mysql>

    临时修改:

    mysql> setsession-> sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

    Query OK,0 rows affected, 1 warning (0.00sec)

    mysql>

    永久修改:

    可以直接修改my.cnf文件

    例如:     vim /etc/my.cnf

    在[mysqld]下面添加如下列:

    sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

    icon_idea.gif ok问题解决,现在你导入或者创建表时看看!

    展开全文
  • 从navicat导出的mysql数据库,再次导入的时候不成功,报#1067 - Invalid default value for ‘add_date’ 根据提示的错误行数定位到具体位置,发现语句为: `add_date` date NOT NULL DEFAULT 'current_timestamp()'...
  • 导入数据库时报错1067 – Invalid default value for ‘字段名’ 最近把mysql升级到5.7了,wordpress导数据报错 Invalid default value for 'comment_date' 原因出在类似这样的语句 DROP TAB...
  • 通过navicat工具导入psc数据库备份文件,报错如下,mysql版本5.7执行如下语句不通过DROP TABLE IF EXISTS `guard_user`;CREATE TABLE `guard_user` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '...
  • 通过navicat工具导入psc数据库备份文件,报错如下,mysql版本5.7 执行如下语句不通过 DROP TABLE IF EXISTS `guard_user`; CREATE TABLE `guard_user` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT...
  • 参考:https://www.t9vg.com/archives/461
  • windows环境下mysql数据库从A服务器迁移到B服务器上,各种折腾,就是报错1067 – Invalid default value for ‘字段名’ 刚开始以为是数据库版本不一致导致的,后来也重装的相同版本(5.7.18),还是不行,原因是...
  • CSV到数据库导入脚本

    2013-08-01 16:41:17
    <p>The default phpmyadmin functionality to import a CSV isn't working for me (spins and spins no errors) so I wrote a script to import it. I am not getting any errors from my script but none of ...
  • 8# 发表于:2019-02-15 14:55:31 IP:27.220.*.*[Err]1067-Invaliddefaultvaluefor'login_time'[Err]##Sourcefortablejc_api_user_login#CREATETABLE`jc_api_user_login`(`id`bigint(20)NOTNULLAUTO_...
  • 参考:https://blog.csdn.net/qq_30770095/article/details/81458931
  • **问题还原:**通过navicat工具导入psc数据库备份文件,报错如下: **问题排查:**执行如下语句不通过 DROP TABLE IF EXISTS guard_user; CREATE TABLE guard_user ( id bigint(20) unsigned NOT NULL AUTO_...
  • 导入数据库时报错1067 – Invalid default value for ‘字段名’ 最近把mysql升级到5.7了,wordpress导数据报错 Invalid default value for 'comment_date' 原因出在类似这样的语句 DROP TABLE IF EXISTS `wp_...
  • 1)Err 1067:原因是timestamp的默认值不正确。查阅资料得知,mysql5.7版本中有了一个STRICT mode(严格模式),而在此模式下默认是不允许设置日期的值为全0值的,所以想要解决这个问题,就需要修改sql_mode的值。使用...
  • <p>SQL: #1067 - Invalid default value for 'jailtime' <p>Jailtime: Datetime, Current_Timestamp. <p>Any ideas how can I fix this? As I can remember, I created a SQL which if pJailed row gets ...
  • 1067 - Invalid default value for ‘creat_time’ creat_time timestamp(0) NOT NULL DEFAULT NULL COMMENT 改成: ‘create_time’ datetime DEFAULT NULL COMMENT

空空如也

空空如也

1 2 3 4 5
收藏数 86
精华内容 34
关键字:

数据库导入1067