邦wlb 发布于45月前 1答/1114阅
表中的一个varchar字段默认值是''空串,做新增操作时,该字段不填写,可以插入空串“”到数据库。
实现过程中遇到的问题:
1、表中 dict_ext 字段,默认值为''空串,如下:
dict_ext varchar(255) not null default '' comment '扩展Json',
2、元数据管理--字段管理,dict_ext字段,是否必填设置“否”
3、做新增操作的时候,表单dict_ext字段不录入内容
4、观察后台,执行的SQL是
Sql: insert into `t_dict`(`dict_ext`, `dict_field`, `dict_name`, `dict_object`, `dict_order`, `dict_value`) values(?, ?, ?, ?, ?, ?)
错误提示为:
com.jfinal.plugin.activerecord.ActiveRecordException: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'dict_ext' cannot be null
Parameter : dict_field=news_type dict_order=0 dict_name=固定文章 dict_value=0 dict_ext= dict_object=t_news
我觉得这个问题的原因是:
null 和空串''的转换问题。