我已经将一个站点从Coldfusion10迁移到Coldfusion2016,我注意到在查询mysql数据库时, tinyint(1)
是的字段 null
以前作为空值返回coldfusion,但现在作为空值返回 0
.
有人知道这是mysql还是cf2016,以及我如何让它再次返回空值吗?
我在谷歌上搜索过,但所有结果似乎都是关于 0
进入 null
. 我需要它!cf2018似乎改变了他们的空支持,但我找不到任何与c2016相关的内容。
我已经将一个站点从Coldfusion10迁移到Coldfusion2016,我注意到在查询mysql数据库时, tinyint(1)
是的字段 null
以前作为空值返回coldfusion,但现在作为空值返回 0
.
有人知道这是mysql还是cf2016,以及我如何让它再次返回空值吗?
我在谷歌上搜索过,但所有结果似乎都是关于 0
进入 null
. 我需要它!cf2018似乎改变了他们的空支持,但我找不到任何与c2016相关的内容。
1条答案
按热度按时间8ulbf1ek1#
对于mysql jdbc驱动程序,有一个属性
tinyInt1isBit
设置为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
当我们进行本地安装时。我不知道霍斯特克是如何处理摆脱这个从
neo-datasource.xml
. 我相信您将从hostek控制面板创建或编辑数据源。我不记得在编辑dsn时是否有输入连接字符串的选项,但如果有相应的字段,则可以添加tinyInt1isBit=false
在那里,那会解决你的问题。