CREATE TABLE `user` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`real_name` varchar(10) NOT NULL,
`tel` varchar(25) DEFAULT NULL,
`rid` int(10) DEFAULT NULL,
`status` tinyint(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=207 DEFAULT CHARSET=utf8
原意是用户在一个 input 里面输入姓名或者电话或者证件号码都能查询登录
使用
SELECT * FROM `user` WHERE (real_name='刘大军' or tel='刘大军' or `rid`='刘大军') and status='1'
而使用
SELECT * FROM `user` WHERE (`real_name` like '%刘大军%' or `tel` like '%刘大军%' or `rid` like '%刘大军%') and `status`='1'
但是感觉 like 不是很严谨
网上搜索了好一阵子
也找不到 varchar 和 int 针对一个字符串值精确匹配的相关文章
虽然我也知道 int 是面向整数的
第一条语句怎么写才能准确的用 real_name 和 tel 匹配姓名字符串 而使用 rid 来匹配纯数字的证件号呢?
求解惑
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.