mysql>createtableh1 (idint, col1char(1));
Query OK,0rows affected (0.00sec)
mysql>insertintoh1select1,’I';
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> insert into h1 select 2,’F';
Query OK,1row affected (0.00sec)
Records:1 Duplicates:0 Warnings:0
mysql>insertintoh1select2,’0′;
Query OK,1row affected (0.00sec)
Records:1 Duplicates:0 Warnings:0
Query OK,0rows affected (0.00sec)
mysql>insertintoh1select1,’I';
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> insert into h1 select 2,’F';
Query OK,1row affected (0.00sec)
Records:1 Duplicates:0 Warnings:0
mysql>insertintoh1select2,’0′;
Query OK,1row affected (0.00sec)
Records:1 Duplicates:0 Warnings:0
mysql>select*fromh1 ;
+——+——+
|id |col1|
+——+——+
| 1|I |
| 2|F |
| 2|0 |
+——+——+
3rowsinset(0.00sec)
mysql>select*fromh1wherecol1=0;
+——+——+
|id |col1|
+——+——+
| 1|I |
| 2|F |
| 2|0 |
+——+——+
3rowsinset,2warnings (0.00sec)
mysql>select*fromh1wherecol1=’0′;
+——+——+
|id |col1|
+——+——+
| 2|0 |
+——+——+
1rowinset(0.00sec)
+——+——+
|id |col1|
+——+——+
| 1|I |
| 2|F |
| 2|0 |
+——+——+
3rowsinset(0.00sec)
mysql>select*fromh1wherecol1=0;
+——+——+
|id |col1|
+——+——+
| 1|I |
| 2|F |
| 2|0 |
+——+——+
3rowsinset,2warnings (0.00sec)
mysql>select*fromh1wherecol1=’0′;
+——+——+
|id |col1|
+——+——+
| 2|0 |
+——+——+
1rowinset(0.00sec)
mysql>select*fromh1wherecol1=’1′;
Emptyset(0.00sec)
mysql>select*fromh1wherecol1=1;
Emptyset,2warnings (0.00sec)
Emptyset(0.00sec)
mysql>select*fromh1wherecol1=1;
Emptyset,2warnings (0.00sec)
发现没有:
col1=0 ; 所有行被选中;
col1=’0′ ; 结果集正常
mysql>select*fromh1wherecol1=’1′;
Emptyset(0.00sec)
mysql>select*fromh1wherecol1=1;
Emptyset,2warnings (0.00sec)
Emptyset(0.00sec)
mysql>select*fromh1wherecol1=1;
Emptyset,2warnings (0.00sec)
想知道为什么吗?
看这里.
mysql>show warnings;
+———+——+—————————————+
|Level |Code|Message |
+———+——+—————————————+
|Warning|1292|Truncated incorrectDOUBLEvalue: ‘I’|
|Warning|1292|Truncated incorrectDOUBLEvalue: ‘F’|
+———+——+—————————————+
2rowsinset(0.00sec)
+———+——+—————————————+
|Level |Code|Message |
+———+——+—————————————+
|Warning|1292|Truncated incorrectDOUBLEvalue: ‘I’|
|Warning|1292|Truncated incorrectDOUBLEvalue: ‘F’|
+———+——+—————————————+
2rowsinset(0.00sec)
MySQL当数据类型不匹配时,尊重用户的输入,将字段的类型做了隐式转换然后来匹配,而字符向数字转,结果都是0;
via IT168技术
以上内容由宝鸡网站建设公司、宝鸡网络公司---宝鸡世纪网络公司为您转摘!我公司是宝鸡地区专业的网站建设服务提供商,五年建站历程、六百家客户的选择,值得信赖!咨询热线0917-3535180