有这样一个问题,定义表结构时一个字段定义为
not null default '',
这样时,插入数据时,如果写insert ...values(null.....),就会报错,该列不能为空。
但是,有些情况下,对于这样的insert,不会报错,会自动将该字段换成定义中default的值。
所以。。请问。。如何配置才能实现?
该字段不要出现在insert语句中就可以了。追问
这样的确可以解决报错的问题,但是,我提问的主要目的是想知道如果某些情况下不可避免,我就是insert null 了,任何配置能够实现不报错,填充default。
或者充分证明这是不可能的。。。
可以充分证明这是不可能的。
追问之前我也是报错,column can not be null,我觉得是对的。。但是,,
CREATE TABLE nulltest(
abs_id int not NULL auto_increment,
t_int INT NOT NULL DEFAULT 0,
PRIMARY KEY abs_id (abs_id)
);
INSERT INTO nulltest
SELECT NULL,NULL;
INSERT INTO nulltest 你没有指定字段,所以用default值。你强制insert null就会报错。
追问INSERT INTO tmptable.nulltest(abs_id,t_int)
SELECT NULL,NULL;
我就算加上字段,也还是不报错。。。但是另外一台机器不管加不加字段都报错。。。
温馨提示:答案为网友推荐,仅供参考