MySQL OR语句输出没有意义

时间:2012-05-17 07:19:50

标签: mysql

尝试此查询时:

SELECT * FROM superpart WHERE
Brick_subpart_id = 603 OR 145;

然后输出:

'200', '144'
'10002', '144'
'620', '145'

为什么“144”会出现?我不要求603到145之间的范围对吗?即便如此,144低于145 ......

2 个答案:

答案 0 :(得分:6)

这是因为您没有将145与任何内容进行比较,因此它变为真,并且您的查询与所有记录匹配。

查询应为

SELECT * FROM superpart WHERE
Brick_subpart_id = 603 OR Brick_subpart_id = 145;

可以改写为:

SELECT * FROM superpart WHERE
Brick_subpart_id IN (603,145)

答案 1 :(得分:1)

SELECT * FROM superpart WHERE
Brick_subpart_id In( 603 , 145)