如何从MySQL TinyInt(1)返回NULL而不是0

时间:2018-09-03 10:30:52

标签: mysql coldfusion coldfusion-2016

我已经将站点从ColdFusion 10移到了ColdFusion 2016,并且在查询MySql数据库时注意到,null的{​​{1}}字段以前会作为空值返回ColdFusion,但是现在返回为0

任何人都知道这是MySql还是CF2016,如何获取它以再次返回空值?

我已经用Google搜索,但所有结果似乎都是关于将0变成null。我反过来需要它! Grouper,但找不到与C2016有关的任何内容。

1 个答案:

答案 0 :(得分:1)

对于MySQL JDBC驱动程序,有一个属性tinyInt1isBitdefault设置为true(当为true时,tinyint(1)字段将为视为bit字段)。通过向其添加tinyInt1isBit=false来修改连接字符串,可以覆盖此功能。

jdbc:mysql://10.0.0.140:3306/testdb?tinyInt1isBit=false

但是,当我们创建ColdFusion数据源时,tinyInt1isBit=false将默认添加到连接字符串(根据我的个人经验)。当我们进行本地安装时,这可以在ColdFusion2016\cfusion\lib\neo-datasource.xml文件中看到。

我不确定hostek如何处理从neo-datasource.xml摆脱的情况。我相信您将从hostek控制面板创建或编辑数据源。我不记得编辑DSN时是否可以输入连接字符串,但是如果有相应的字段,则可以在其中添加tinyInt1isBit=false,这样就可以解决问题。