某某茶叶有限公司欢迎您!
金沙棋牌在线 > 必赢棋牌官网 > Mysql出现ERROR 1138 (22004): Invalid use of NULL value

Mysql出现ERROR 1138 (22004): Invalid use of NULL value

时间:2019-12-29 06:38

在给一个表添加字段的时候,忽然发现会报一个date类型的字段的默认值错误,郁闷~

问题描述:修改字段默认值时报错ERROR 1067 (42000): Invalid default value for 'phone'

最近需要对业务的订单表进行分区,先在自己本机测试,在创建测试表就报错了:

遇到的问题:Mysql修改字段默认值为非空时遇到ERROR 1138 (22004): Invalid use of NULL value

经过排查,原来是MySQL的配置问题,在wamp下,MySQL 5.7里是没有设置 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'  

必赢棋牌官网 1

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

解决办法:好像解决不了……除非不设这样的默认值,或修改字段类型

(对TIMESTAMP类型的子段如果不设置缺省值或没有标志not null时候在创建表时会报这个错误)

问题原因:gou表里name字段当前有值为null(空值),所以改变name列为非空时报错。