欢迎光临
我们一直在努力

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

本文主要给大家介绍MySQL 整型字段中查询字符串出现问题详解,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在云搜网行业资讯里面关注我的更新文章的。

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

例如表结构信息:

CREATE TABLE `t` (
  `name` char(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

表中数据:

mysql> select id from t;
+----+
| id |
+----+
|  0 |
|  0 |
|  1 |
+----+

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

mysql> select id from t where id='a';
+----+
| id |
+----+
|  0 |
|  0 |
+----+

警告信息:

mysql> show warnings;
+---------+------+---------------------------------------+
| Level   | Code | Message                               |
+---------+------+---------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'a' |
+---------+------+---------------------------------------+

查询字符串'1a',可以返回1:

mysql> select id from t where id='1a';
+----+
| id |
+----+
|  1 |
+----+

报警信息:

mysql> show warnings;
+---------+------+----------------------------------------+
| Level   | Code | Message                                |
+---------+------+----------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: '1a' |
+---------+------+----------------------------------------+

看了以上关于MySQL 整型字段中查询字符串出现问题详解,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。