MySQL 中 intvalue='1' 和 intvalue=1 的区别是什么?


你需要使用 intvalue=1。语句 intvalue=’1’ 在内部会被 MySQL 转换为 cast(‘1’ as int)。

我们首先创建一个表格 -

mysql> create table DemoTable1566
   -> (
   -> intvalue int
   -> );
Query OK, 0 rows affected (0.64 sec)

使用 insert 命令向表格中插入一些记录 -

mysql> insert into DemoTable1566 values(1);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1566 values(55);
Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable1566 values(75);
Query OK, 1 row affected (0.32 sec)
mysql> insert into DemoTable1566 values(90);
Query OK, 1 row affected (0.19 sec)

使用 select 语句从表格中显示所有记录 -

mysql> select * from DemoTable1566;

这会产生以下输出 -

+----------+
| intvalue |
+----------+
|        1 |
|       55 |
|       75 |
|       90 |
+----------+
4 rows in set (0.00 sec)

这是实现 intvalue=1 的查询 -

mysql> select * from DemoTable1566 where intvalue=1;

这会产生以下输出 -

+----------+
| intvalue |
+----------+
|        1 |
+----------+
1 row in set (0.00 sec)

这是 intvalue=’1’ 的查询 -

mysql> select * from DemoTable1566 where intvalue='1';

这会产生以下输出 -

+----------+
| intvalue |
+----------+
|        1 |
+----------+
1 row in set (0.00 sec)

更新于: 12-12-2019

45 浏览

开启你的 职业生涯

完成课程获得认证

开始
广告