Mysql SQL将LIKE和and组合在一起,给出了错误的结果
使用上述代码时,我返回三行,而不是带有Mysql SQL将LIKE和and组合在一起,给出了错误的结果,mysql,sql,myisam,Mysql,Sql,Myisam,使用上述代码时,我返回三行,而不是带有 类似“%whatever%”的列 我觉得很奇怪,也不明白为什么 我如何重写我的sql代码以使用LIKE签入几个id为='where'的行 我使用MYSQL和MyISAM您需要括号: SELECT * FROM table WHERE column LIKE '%whatever%' AND id='1' OR id='2' OR id='3' 和的优先级高于或,因此您的原文被解释为: SELECT * FROM table WHERE column LI
类似“%whatever%”的列
我觉得很奇怪,也不明白为什么 我如何重写我的sql代码以使用LIKE签入几个id为='where'的行 我使用MYSQL和MyISAM您需要括号:
SELECT * FROM table WHERE column LIKE '%whatever%' AND id='1' OR id='2' OR id='3'
和
的优先级高于或
,因此您的原文被解释为:
SELECT *
FROM table
WHERE column LIKE '%whatever%' AND (id='1' OR id='2' OR id='3')
原文最好在中使用:
WHERE )column LIKE '%whatever%' AND id='1') OR id='2' OR id='3'
而且,如果id
确实是一个整数,那么应该去掉单引号。他们建议该类型实际上是一个字符串。使用
函数中的
SELECT *
FROM table
WHERE column LIKE '%whatever%' AND id in ('1', '2', '3')
我假设id是一个varchar。如果是int,则使用:
SELECT * FROM table WHERE column LIKE '%whatever%' AND id IN ('1', '2', '3')
看看代数。代数。布尔代数。1+2*3=7不是9我使用MYSQL和MyISAM解决了问题不,这种组合会产生问题。请不要在问题中添加SOLVED
。相反,接受一个答案或者发布你自己的答案并接受它。
SELECT * FROM table WHERE column LIKE '%whatever%' AND id IN (1, 2, 3)