我正在运行以下查询,但即使存在与查询匹配的记录,也不会返回任何行。
SELECT
*
FROM
tblsignup
WHERE
usr_email='amir@gmail.com'
AND
(status=1 or status=2)
答案 0 :(得分:2)
试试这个:
select * from `tblsignup` where `usr_email`='amir@gmail.com' and (`status`=1 or `status`=2)
我有一种感觉“status”可能会留给特别的东西。将它更改为“status”可能值得一试。
答案 1 :(得分:2)
尝试围绕status
列名称包围括号:
SELECT *
FROM tblsignup
WHERE usr_email = 'amir@gmail.com'
AND ([status] = 1
OR [status] = 2);
修改强> 阅读完评论后,为什么不使用:
SELECT *
FROM tblsignup
WHERE usr_email = 'amir@gmail.com'
AND [status] > 0;
答案 2 :(得分:2)
你应该尝试简化查询(是的......即使它很简单)
试试这个
从tblsignup中选择*
然后
从tblsignup中选择*在哪里 usr_email ='amir@gmail.com'
然后
从
tblsignup
中选择*usr_email
='amir@gmail.com'和。{ 状态> 0
//我知道你不会使用>最后为0,但我们希望通过>消除我们简化的最大错误原因。 0只是为了更容易阅读
告诉我们你从哪里开始获得0行,这可能会导致我们遇到问题,我知道我已经遇到了一个类似于“date”的字段的问题,因为日期已经被MySQL使用了,有趣的MySQL仍然让我使用那个字段名称。
答案 3 :(得分:0)
可能是您的列或表具有区分大小写的排序规则并且输入的地址不同('Amir ...')?由于您的查询是正确的SQL。你可以找到:
EXEC sp_help DatabaseName