关于mysql api中my_bool的取值范围的问题
程序员文章站
2022-06-05 12:30:39
...
官方文档中给的描述为:A boolean type, for values that are true (non-zero) or false (zero). 意思是0为false,非0为true。但
my_bool 在mysql中被定义为:char
官方文档中给的描述为:A boolean type, for values that are true (non-zero) or false (zero). 意思是0为false,非0为true。
但是在其接口与具体实现中好像并不是完全按照文档说明的方式进行判断(my_bool值为真为假)。
比如随便找一个接口:
22.9.3.2. mysql_autocommit()
my_bool mysql_autocommit(MYSQL *mysql, my_bool mode)
Description
Sets autocommit mode on if mode is 1, off if mode is 0. (注意这里,,只有mode为1的时候才干事,并不是非0)
Return Values
Zero if successful. Nonzero if an error occurred. (既然想把my_bool当作bool来用,那么为什么返回值又用其返回错误码。)
Errors
None.
我们在项目中碰到过类似的问题,明明 my_bool类型的变量非0,确不被判断为真。汗,与文档描述相悖。
所以比较安全的做法是就把它当作bool来用, 赋值的时候直接用true false.
推荐阅读
-
关于JAVA中Byte类型的取值范围的推论(*零为正数,-128在计算机中的表示方法...)
-
详解layui中的树形关于取值传值问题
-
MySQL中关于null值的一个小问题
-
《php和mysql web开发(原书第三版)》中创建CMS系统例子关于mysql的出错问题?
-
关于PHP中操作MySQL数据库的一些要注意的问题_php基础
-
请问个mysql有关问题.关于获取查询结果中某一个字段的最大值.(按照其他字段排序)
-
关于LAMP中的Mysql授权的有关问题
-
关于PHP中操作MySQL数据库的一些要注意的问题_php基础
-
关于PHP中的while跟sleep的mysql查询有关问题
-
PHP中关于href传值和取值的问题