危険察知記述難易度 基礎

状況

退会済みのユーザー(deleted_at に日時が入っている行)だけを削除する。DELETE の前に、同じ条件で件数を数える。

空欄に入るキーワードを書いてください。

SELECT COUNT(*) AS n FROM usersWHERE deleted_at IS ____ NULL;

正答

正答NOT

解説

deleted_at に日時が入っている行は IS NOT NULL で取り出す。NOT を書き忘れて IS NULL のまま DELETE に流すと、退会していない現役のユーザーが全員消える、取り返しのつかない事故になる。deleted_at != NULL と書くと NULL との比較は常に真にならないので 0 件になり、確認の段階で「消すものがない」と誤解する。件数が想定と合うかを見てから DELETE に進む。

参考: www.sqlite.org

sqlnullwhere

この問題を含む 危険察知 のテストを制限時間つきで解く

危険察知クイズへ