我今天做一个SQL INSERT 操作时出现一个问题。错误代码如下: |
|
你没赋值吧。
|
|
数据库字段你设置个默认为””不就是了
default “””” NOT NULL |
|
是啊,我是没有赋值。你可能没有明白我表达的意思。 |
|
假如的数据库字段有ID,NAME,PASSWORD 都是不为空的 |
|
那么你设置个列自增
|
|
那我执行insert xxx (id,name)values(“”xxx””,””xxx””); |
|
不是啊,我的数据库是所有的字段都不为null的,如果出现没有插入某个字段,数据库会默认帮我填充空字符串。 |
|
supplier_id是什么类型?mysql什么版本?在Enable Strict Mode为false的情况下,如果非NULL字段不填值,是按当前字段的默认值填充的。
|
|
序列没有初始化把。试试加 你的bean进行序列化处理:public class TCustomerBasic implements Serializable { |
|
这个是字符串类型的,是的,我就是希望如果我没有填写的字段的话,数据库默认帮我自动插入当前字段类型的默认值,而不是通过我自己去设置默认值的情况而帮我插入。 |
|
我用的是纯JDBC,没有使用bean操作。 |
|
mysql 是5.6.17 |
|
设置可以默认为空
|
|
Enable Strict Mode是true还是false?
|
|
不清楚啊,这个东西我没有听说过,我反正是没有动过,默认值是什么就是什么。请问这个东西是在哪里设置 |
|
mysql所在机器是什么系统?
|
|
20分 |
1、首先先说你报错这句话:Field “”supplier_id”” doesn””t have a default value。由此可以看出你supplier_id这个字段肯定是不能为空的,而你做插入操作的时候根本就没有给这个字段赋值,又没有赋默认值,所以报错了。
2、你想解决的问题是:就是你不写这个字段,不给他赋值,他也能插入成功,不报错。自动拿空字符串去填充。 解决办法: 怎么样?解决你的问题了吗 |