初めに
accessでNOT NULL 制約について盛大に勘違いしていたのでまとめます。
完全に個人用です。
ここの設定を変えることで
NOT NULL 制約を付けたり空文字列を許容したりできる。
今回盛大に勘違いしてしまったのは
空文字列の許可の方でnullの設定を行うと思い込んでしまっていた。
ここにはnullと空文字がどちらかがはいっているが
見かけ上ではそれを判断することができない。
「null許可していないのにnullが入ってる!!access壊れた」
と勘違いしたので今回調べることになった。
4通りある
値要求 | 空文字の許可 | 入力可能なデータ | 削除後の値 |
---|---|---|---|
いいえ | いいえ | NULLのみ | NULL |
いいえ | はい | NULLと空文字 | NULL |
はい | はい | 空文字のみ | 空文字 |
はい | いいえ | 1文字以上の文字列 | 削除できない |
こんな感じになるそうです。
クエリを書くときにここしっかりと確認しておかないと
思わぬことが起きそうなのでIs Nullとかやる際は気を付けようと思います。
以上。