>

【MySql】Mysql EPortofinoROOdyssey 1067: Invalid default va

- 编辑:澳门新葡亰平台游戏 -

【MySql】Mysql EPortofinoROOdyssey 1067: Invalid default va

2.比如未有SQL_MODE,就增加,有就修改一下

问题由来:设置的暗许值不相符当下字段的品种

CREATE TABLE `test_order` (
    `ORDER_NUM` bigint(20) NOT NULL COMMENT '订单号',
    `CREATE_TIME` timestamp NULL DEFAULT '0000-00-00 00:00:00',
    KEY `IAC_ORDER_N1` (`ORDER_NUM`) USING BTREE,
    KEY `idx_create_time` (`CREATE_TIME`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT

ERROR 1067 (42000): Invalid default value for 'FAILD_TIME'  
sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

消除办法:好像化解不了……除非不设这么的暗中认可值,或修改字段类型

下边包车型地铁安装是临时设置,在再一次登入后,该装置又过来为NO_ZERO_DATE

标题汇报:修改字段暗许值时报错EMuranoROSportage 1067 (43000): Invalid default value for 'phone'

将地点的NO_ZERO_DATE改为上面包车型大巴ALLOW_INVALID_DATES

3.重启MySQL;

这是因为sql_mode中的NO_ZEROR_DATE导制的,在strict mode中不允许'0000-00-00'作为官方日期

透过排查,原本是MySQL的布局难题,在wamp下,MySQL 5.7里是从未有过安装 SQL_MODE 的。

Variable_name
sql_mode

在给多少个表增多字段的时候,忽地开掘会报一个date类型的字段的暗许值错误,忧虑~

(对TIMESTAMP类型的子段借使不设置缺省值或从不申明not null时候在创设表时会报那个指鹿为马)

1.my.ini文书中找到 [mysqld]

本机测验:

利用下边包车型客车下令查看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
mysql> set sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
mysql>show variables like 'sql_mode';

本文由数据库发布,转载请注明来源:【MySql】Mysql EPortofinoROOdyssey 1067: Invalid default va