1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MySQL:複合ユニークのカラムにNULLがあった場合

Last updated at Posted at 2022-08-23

NULLのイメージを誤解していたので、備忘録として書きます。

概要

  • MySQLで複合ユニーク制約をしているカラムにNULLが入っている場合、ユニークとならないと知った
    • NULL = NULL とはならないため

idとnameとageで複合ユニーク制約があっても、NULLが含まれる場合ユニークとならない

id name age
1 foo 20
2 bar 30
2 bar NULL

教訓

  • 複合ユニークに使うカラムはNOT NULLにする

参考
「NULLがUNIQUE制約に縛られないことを利用する」のは、正当なNULLの使い方 - 極北データモデリング

NULLは「値がある(が、システムはその値を知らない)状態」

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?