博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql那些事(6) WHERE条件 字符串的引号
阅读量:4306 次
发布时间:2019-06-06

本文共 802 字,大约阅读时间需要 2 分钟。

前言:所谓的坑,两个意思,一个是软件本身的bug,一个是使用者常犯的错误。

phper在日常开发中经常和mysql打交道。特别是在没有分层的中小应用中,phper开发要关注sql语句的实现。

mysql那些事(1) WHERE条件 字符串的引号

入正题,上建表语句:

DROP TABLE IF EXISTS `test_sql`;

CREATE TABLE `test_sql` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',

`name` varchar(32) NOT NULL DEFAULT '0' COMMENT '名字',

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='测试表';

上数据:

INSERT INTO `test_sql`

VALUES

('1', '0'),

('2', 'www.haodaquan.com'),

('3', '0'),

('4', '123'),

('5', '123php'),

('6', '123php在路上'),

('7', 'php在路上');

好了,看到的是这张表:

mysql那些事(1) WHERE条件 字符串的引号

题目来了:请查找name值为0的数据。

于是错误的sql出来了:

select `id`,`name` from test_sql where name=0

结果与预期不符,如下图:

mysql那些事(1) WHERE条件 字符串的引号

为什么?

sql也是弱类型啊,比较0和字符串的时候,也是返回true的。

正确的sql:

select `id`,`name` from test_sql where name=‘0'

mysql那些事(1) WHERE条件 字符串的引号

结论:字符类型的字段做where 条件时一定要加引号呀。

转载于:https://www.cnblogs.com/phpfensi/p/8143333.html

你可能感兴趣的文章
HDU 2461 Rectangles#容斥原理
查看>>
网口扫盲二:Mac与Phy组成原理的简单分析(转)
查看>>
使用最大似然法来求解线性模型(1)
查看>>
EF 从sqlserver2008 迁移到 2005出现的BUG
查看>>
架构-浅谈MySQL数据库优化
查看>>
jquery锚点连接划动滚动条,再也不用a标签name 了
查看>>
Apache JMeter--网站自动测试与性能测评
查看>>
信号与系统(中)
查看>>
【iCore4 双核心板_FPGA】例程八:乘法器实验——乘法器使用
查看>>
bash 快捷键
查看>>
检测登录按钮 ,回车即登录
查看>>
蓝桥杯-微生物增殖
查看>>
ansible for devops读书笔记第一章
查看>>
解决IE6下,给图片加上line-height属性不起作用的方法
查看>>
#10172. 「一本通 5.4 练习 1」涂抹果酱 题解
查看>>
vue-cli 3.0安装和使用
查看>>
数据结构与算法6—树
查看>>
.net mvc 超过了最大请求长度 限制文件上传大小
查看>>
PDU与SDU理解
查看>>
linux分盘笔记
查看>>