で使用wamp
していwin 7
ます。
私のデータベースには、1 つのテーブルbe_users
、2 つのフィールドusername
、およびがありemail
、両方とも設定されていNOT NULL
ます。
insert
しかし、値と null 値を field: email
にまだ空にできるのはなぜですか。以下の画像を参照してください。
で使用wamp
していwin 7
ます。
私のデータベースには、1 つのテーブルbe_users
、2 つのフィールドusername
、およびがありemail
、両方とも設定されていNOT NULL
ます。
insert
しかし、値と null 値を field: email
にまだ空にできるのはなぜですか。以下の画像を参照してください。
引用符「NULL」または「NULL」で囲まれた NULL を送信しないでください。テキスト値として扱われます。
この問題は、これら 2 つのフィールドに使用されるデータ型が原因です。"text" を varchar(255) に変更して NULL を使用できます。NULL とデータ型のテキストには問題があります。
Null
がキーワードです。null を直接入力すると、エラーが表示されます。
例-
insert into tablename(fieldname) values(null);
この上記の行はエラーを生成します(言及した場合not null
)。
何か他のものを入力したと思います。テーブル構造を再度確認し、新しいデータを入力してください。
実際には、テキストを挿入していますが、そうではありませんNULL
。テキストはNULLNULL
とは大きく異なります。フィールドが に設定されている場合、ルールに違反することはありません。NOT NULL
このステートメントを実行してみてください。
INSERT INTO tableName VALUES (null, null) -- will fail
それらはNULL
. ただし、次のステートメントは、挿入しているため、確実に機能しますstring
。
INSERT INTO tableName VALUES ('', 'null') -- will work
空の値は NULL と等しくなく、NULL ではなく 'null' をデータベースに挿入しているように見えるため、NULL 値ではなく文字列 'null' になります。