如何从 MySQL TinyInt(1) return NULL 而不是 0
How to return NULL instead of 0 from MySQL TinyInt(1)
我已将网站从 ColdFusion 10 移至 ColdFusion 2016,我注意到在查询 MySql 数据库时,tinyint(1)
字段 null
之前会返回到 ColdFusion 作为空值,但现在作为 0
.
返回
任何人都知道这是 MySql 还是 CF2016 的东西,我怎样才能让它再次成为 return 空值?
我用谷歌搜索了一下,但所有结果似乎都是关于将 0
变成 null
。我需要反过来! CF2018 seems to have changed their null support,但我找不到任何与 C2016 相关的内容。
对于 MySQL JDBC 驱动程序,有一个 属性 tinyInt1isBit
被 default 设置为 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
,这应该可以解决您的问题。
我已将网站从 ColdFusion 10 移至 ColdFusion 2016,我注意到在查询 MySql 数据库时,tinyint(1)
字段 null
之前会返回到 ColdFusion 作为空值,但现在作为 0
.
任何人都知道这是 MySql 还是 CF2016 的东西,我怎样才能让它再次成为 return 空值?
我用谷歌搜索了一下,但所有结果似乎都是关于将 0
变成 null
。我需要反过来! CF2018 seems to have changed their null support,但我找不到任何与 C2016 相关的内容。
对于 MySQL JDBC 驱动程序,有一个 属性 tinyInt1isBit
被 default 设置为 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
,这应该可以解决您的问题。