Sqls.create("update tbl set col = @col").setParam("col", null);
我本意想要把这一列的值置空, 但翻译出的结果是null被转成了字符串:
"update tbl set col = 'NULL'"
我想要的结果是:
"update tbl set col = null"
我该怎么做呢?
关键是数据库里面改对了吗?
肯定不对啊, 我就想填空值, 但这样写进数据库里是一个正常的字符串 'NULL'
sql.setValueAdaptor("col", Jdbcs.Adaptor.asNull);
试了一下, 变得更奇怪了:
"update tbl set col = '{}'"
写进数据库也是个字串 '{}'
我搞错了, 应该是语句没有变化, 还是写入'NULL'
debug一下asNull吧
最后的解决方案是使用pojo的方式来update, 这个是没问题的
Sqls.create("update tbl set col = null");