MySQL整型字段中查询字符串出现问题详解

  

在MySQL中,在整型字段中查询字符串,返回了所有为0的结果,应该返回null或空。

例如表结构信息:

CREATE  TABLE “t”, (   “名字”,才能char (20), COLLATE  utf8mb4_unicode_ci  DEFAULT 空,   “id”才能,int (11), NOT  NULL   ),引擎=InnoDB  DEFAULT  CHARSET=utf8mb4 整理=utf8mb4_unicode_ci

表中数据:

 MySQL整型字段中查询字符串出现问题详解

mysql>, select  id 得到t;   + - - - +   | |,id    + - - - +   |,,0 |   |,,0 |   |,,1 |   + - - - +

查询字符串,返回了所有是0的:

mysql>, select  id 得到t  where  id=& # 39;一个# 39;;   + - - - +   | |,id    + - - - +   |,,0 |   |,,0 |   + - - - +

警告信息:

mysql>, show 预警;   + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   |,Level ,, |, Code  |, Message ,,,,,,,,,,,,,,,,,,,,,,,,,,,,, |   + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   | |,Warning  1292年,|,Truncated  incorrect  DOUBLE 价值:,& # 39;一个# 39;|   + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

查询字符串& # 39;1一个# 39;可以返回1:

mysql>, select  id 得到t  where  id=& # 39; 1一个# 39;;   + - - - +   | |,id    + - - - +   |,,1 |   + - - - +

报警信息:

mysql>, show 预警;   + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   |,Level ,, |, Code  |, Message ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, |   + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   | |,Warning  1292年,|,Truncated  incorrect  DOUBLE 价值:,& # 39;1一个# 39;|   + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

  

MySQL整型字段中查询字符串出现问题详解