ホームページ >バックエンド開発 >PHPチュートリアル >mysqlのnot nullフィールドに関する質問

mysqlのnot nullフィールドに関する質問

WBOY
WBOYオリジナル
2016-06-13 13:21:18961ブラウズ

mysql
の not null フィールドの問題について 今日、mysql データベースに関して、not null が設定された整数フィールドについて、insert ステートメントを使用してフィールドに入力すると、デフォルト値が 2 にカスタマイズされてしまうという非常に厄介な問題に遭遇しました。 Null 値を挿入すると、カスタマイズされたデフォルト値 2 の代わりに、システムによって自動的に生成された整数のデフォルト値 0 が表示されるのはなぜですか? フィールドに何も操作しなければ、カスタマイズされた値が自動的に入力されます。 . デフォルト値。なぜこのようなことが起こるのでしょうか? アドバイスをお願いします。 。 。 。

-----解決策--------------------------------
null 値も値です。つまり、デフォルト値が使用されます。空白のままにすると、デフォルト値が使用されます。
これはわかりやすいですね
------解決策----------------------
null は何も意味しません
正しいので If数値型フィールドが not null
に設定されている場合、数学では 0 に等しいものは何もないのではないでしょうか?
------解決策----------------------
デフォルト値をカスタマイズする場合は、設定しないでくださいこのフィールドは挿入時に含まれません。つまり、デフォルト値
を空にすることはできません。つまり、値が挿入されると、デフォルト値が NULL 値であっても値を挿入する必要があります。価値は役に立たない。
------解決策---------

話し合う

workId` int(10) unsigned NOT NULL default '3'

このフィールドに null 値を挿入すると、なぜ 0 になるのですか?

引用:

デフォルト値を決定する場合は、挿入時に NULL 以外の値を設定しないでください。つまり、デフォルト値
は使用できません。 null 値であっても値を挿入する必要があります。値を挿入した場合、デフォルト値は無効です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。