我已经意识到如果 'fk_building' 为空,这两个查询不起作用。我不明白为什么,而且似乎找不到一个好的解释,因为谷歌有点难。有人可以解释为什么地狱!= 3 不返回所有不是 3 的东西吗???包括空行?为什么我需要使用 <=> ?
update floor set fk_building = 3 where fk_building != 3 and floor_id = 1;
或者
select * from floor where fk_building != 3
在 fk_building 为空的情况下不起作用。