【发布时间】:2013-07-31 20:43:55
【问题描述】:
我正在为我的模型获取一些行,但是视图有很多标准,我已经厌倦了编写许多模型。为了使工作更轻松,我不想为每个选择的标准编写新的选择语句,所以一开始我尝试了尝试并仍然从选择中返回某些内容,即使用户提供/未提供多个可用条件之一。
SELECT * FROM members WHERE member_id = null AND member_club_id = 1 AND membership_year = null;
什么都不返回
我终于尝试了
SELECT * FROM members WHERE member_id = (select member_id) AND member_club_id = (select member_club_id=1) AND membership_year = (select membership_year);
这可以正常工作。
我还是 mysql 新手,我想知道为什么第二种方法有效。
例如,感兴趣的是select member_club_id=1 和member_id = (select member_id)。
在member_id = (select member_id) 中,我认为这将被读取为member_id=member_id,因为我没有名为member id 的变量,因此失败了。
在select member_club_id=1 中,我认为我会在member_club_id 中得到unknown column 错误,因此失败。
有人帮忙。
【问题讨论】:
-
应该是
IS NULL而不是= NULL
标签: mysql