mysql增加字段1067_MySQL INSERT,无需指定每个非默认字段(#1067 – ‘table’的默认值无效)...

默认情况下,其中一台服务器以严格模式运行,而另一台服务器则没有.

如果服务器以严格模式运行(或者在连接中设置它)并且您尝试将NULL值插入到定义为NOT NULL的列中,则会出现#1364错误.如果没有严格模式,您的NULL值将替换为空字符串或0.

例:

CREATE TABLE `test_tbl` (

`id` int(11) NOT NULL,

`someint` int(11) NOT NULL,

`sometext` varchar(255) NOT NULL,

`somedate` datetime NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8

SET sql_mode = '';

INSERT INTO test_tbl(id) VALUES(1);

SELECT * FROM test_tbl;

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

| id | someint | sometext | somedate |

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

| 1 | 0 | | 0000-00-00 00:00:00 |

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

SET sql_mode = 'STRICT_ALL_TABLES';

INSERT INTO test_tbl(id) VALUES(2);

#1364 - Field 'someint' doesn't have a default value

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值