我有一个名为Participant的MySQL数据库表,看起来像这样:
(idParticipant) - (firstName) - (secondName) - (gender) - (dob)
118 John Dunne m 1944-04-01
117 Mary Delaney f 1955-05-03
116 Adam Bermingham m 1920-01-01
115 Eamonn Reilly m 1987-03-19
114 Aaron Duane m 1990-07-08
119 Sarah Calvin f 1977-07-17
Run Code Online (Sandbox Code Playgroud)
当我使用此查询时:
SELECT * FROM `Participant` WHERE idParticipant = 118 OR 119;
Run Code Online (Sandbox Code Playgroud)
我想我应该得到以下结果:
118 John Dunne m 1944-04-01
119 Sarah Calvin f 1977-07-17
Run Code Online (Sandbox Code Playgroud)
但它只是返回整个表格.我的MySQL语法在哪里出错了?
你需要使用 WHERE idParticipant IN (118, 119);
我的猜测是MySQL隐式地将119的值转换为布尔值,所以你要说:WHERE idParticipant = 118 OR TRUE;因此包括所有行.首先评估相等性,然后是布尔值OR.
| 归档时间: |
|
| 查看次数: |
9556 次 |
| 最近记录: |