我在user_name='high'
function_description:
akram在日期
测试
akram正在学习
TEST4
kheith是男性
TEST3
我想要一个返回字段结果的查询,该字段至少包含'akram'
SELECT *
FROM functions
WHERE 'isEnabled'=1
AND 'isPrivate'=1
AND user_name='high'
AND function_description LIKE '%akram%'
这绝对没有任何回报!
为什么?
答案 0 :(得分:1)
您列出的列名称就像它们是字符串一样。这就是它什么都不返回的原因。
试试这个:
SELECT *
FROM functions
WHERE user_name='high'
AND function_description LIKE '%akram%'
编辑:尝试重新阅读您的问题后...此表中的isEnabled
和isPrivate
列是?
edit2:updated ..删除那些未知的列。
答案 1 :(得分:1)
您正在将字符串'isEnabled'
与整数1
进行比较,这可能导致整数转换为字符串,然后比较失败。 (另一种方法是将字符串转换为整数0,并且比较仍然失败。)
在MySQL中,您使用引号而不是单引号来引用列名和表名:
SELECT *
FROM `functions`
WHERE `isEnabled` = 1
AND `isPrivate` = 1
AND `user_name` = 'high'
AND `function_description` LIKE '%akram%'
在标准SQL中,您使用双引号来创建“分隔标识符”;在Microsoft SQL Server中,您可以在名称周围使用方括号。
下次请更仔细地显示架构(列名,样本值,类型,如果需要)。