插入null值到不能为null的列

有这样一个问题,定义表结构时一个字段定义为
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;
我就算加上字段,也还是不报错。。。但是另外一台机器不管加不加字段都报错。。。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网