最近遇见了一个很诡异的情况,就是当我们关联表查询时,副表如果有bit类型的字段的话,C#驱动读取该列时就会抛出“DBNull.Value不能转换为其他类型”的异常,但是我们如果拿出sql语句单独查询的话,该字段根本就不是空的,而且如果我们把bit类型改为tinyint(值不变)就又能读取出来了,这种情况貌似只在联合表查询时副表的bit类型字段中出现,不知道是什么原理…
MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数.许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否有正负之分或者用零填补. 表列出了各种数值类型以及它们的允许范围和占用的内存空间. 类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT 2 字节 (-32 768,32 767) (0,65 535)…
数据库中字段为空的有两种:一种为null,另一种为空字符串.null代表数值未知,空字符串是有值得,只是为空.有时间我们想把数据库中的数据以excel形式导出时 如果碰到字段为空的,为空的字段会被后面有数据的字段占据,这样就导致列数错乱的现象.为了避免这种现象,我们可以用其它符号表示空的字段.如果要处理 null字段.可以这样做 IFNULL(某字段,"--"),也就是如果这个字段为null,那就用"--"来代替显示.可是有些字段为空字符串,该怎么处理呢? 可以尝试…
目录 MySQL 5.6不删空用户的影响 问题 分析 测试 启动mysqld时没有加上--skip-name-resolve 启动mysqld时加上--skip-name-resolve 结论 MySQL 5.6不删空用户的影响 问题 MySQL5.6 新建本地可以登录的用户,但在本地始终登录不上,不存在的用户却能登录成功 mysql -uroot -p1234 -S /data/mysql/33562/mysql.sock -e "select version()" mysql: […
FIREDAC驱动MYSQL数据库 FIREDAC连接MYSQL数据库需要用到LIBMYSQL.DLL这个动态库. 这个LIBMYSQL.DLL分为32位和64位两个不同的版本,对应32位或64位的MYSQL数据库,这个是绝对不能搞错的. // libmysql.dll 有32位和64位之分,要看mysql是好多位的 FDPhysMySQLDriverLink1.VendorLib := ExtractFilePath(Application.ExeName) + 'libmysql.dll';…
数值类型 整数型 tinyint  smallint  mediumint  int|integer  bigint 注意: 1, 如何选择数据类型,我们的原则是:够用就行!尽量的选择占用内存小的整型,而且效率也更快! 2,可以使用unsigned来控制是否有符号位,如果不写,缺省值是有符号的 MySQL不会进行自动类型转换,如果超出了指定类型的范围,就直接报错! 3,可以指定数据显示的最小宽度,以达到统一显示的目的,通常的做法就是使用zerofill来进行填充 如果插入的数据,超出了指定的显示…
1.1.1 整型 整型 占用字节 范围 范围 tinyint 1 -27~27-1 -128~127 smallint 2 -215~215-1 -32768~32767 mediumint 3 -223~223-1 -8388608~8388607 int 4 -231~231-1 -2147483648~2147483647 bigint 8 -263~263-1 多学一招:一个字节=8位     帮助的位置:列类型--数值类型 1.1.2 显示宽度 显示宽度:最小的显示位数,比如int(1…
在mysql中concat函数有一个特点就是有一个值为null那么不管第二个字符有多少内容都返回为空了,这个特性让我们在实例应用中可能觉得不方便,但实现就是这样我们需要使用其它办法来解决. 天在做opencart开发的时候,需要对用户表中用户的电话号码和区号连接起来,于是使用了concat方法,  代码如下 复制代码 SELECT CONCAT(isdcode,telephone) FROM gb_customer 竟然发现很多NULL列,telephone明明是有值的,于是查询了相关conca…
问题:mybatis返回的null类型数据消失,导致前端展示出错 思路:如果查询出的结果是空值,应当转换成空字符串.当然在前端也能进行判断,但要求后台实现这个功能. 解决方案: 使用如下方法查询: SELECT IFNULL(sex,'') AS sex FROM user --如果查询到这个sex为null值,那么就赋值成空字符串 不过,如果查询语句本身为null,那么返回前端的还是null,这个就要在代码里判断了. 比如: SELECT IFNULL(sex,'') AS sex FROM…
为WAMP中的mysql设置密码 WAMP安装好后,mysql密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作. 1.首先,通过WAMP打开mysql控制台. 提示输入密码,因为现在是空,所以直接按回车. 2. 然后输入"use mysql",意思是使用mysql这个数据库,提示"Database changed"就行. 3.然后输入要修改的密码的sql语句"update user set password=PASSWO…