NULL は不定であり、特定の値が入っているわけではないので、MySQL の SQL文にて、hoge = NULL は評価されません。
仮に、hoge 列に NULL が入っていたとしても、NULL = NULL は true にはなりません。NULL は何と比較しても、unknown となります。
https://qiita.com/kiiimiis/items/119cdbd51c588c4b1f62
NULL を、特定の値のように評価するためには、NULL 安全等価演算子(<=>) を用います。
NULL が含まれる列と、他の列との比較の際などに、利用機会がありました。
mysql> select 1 = null, 1 <=> null, 1<=>1, 1<=>0; +----------+------------+-------+-------+ | 1 = null | 1 <=> null | 1<=>1 | 1<=>0 | +----------+------------+-------+-------+ | NULL | 0 | 1 | 0 | +----------+------------+-------+-------+ 1 row in set (0.00 sec)
https://gihyo.jp/dev/serial/01/mysql-road-construction-news/0144