如何从mysql tinyint(1)返回null而不是0

k97glaaz  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(652)

我已经将一个站点从Coldfusion10迁移到Coldfusion2016,我注意到在查询mysql数据库时, tinyint(1) 是的字段 null 以前作为空值返回coldfusion,但现在作为空值返回 0 .
有人知道这是mysql还是cf2016,以及我如何让它再次返回空值吗?
我在谷歌上搜索过,但所有结果似乎都是关于 0 进入 null . 我需要它!cf2018似乎改变了他们的空支持,但我找不到任何与c2016相关的内容。

8ulbf1ek

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 在那里,那会解决你的问题。

相关问题