9

最近、MySQLで新しい問題に直面しました。で新しいテーブルを作成しようとしていました

col1 TIMESTAMP DEFAULT NULL

(つまり、デフォルト値の列NULL)が、作成時にエラーが発生しました:

列のデフォルト値が無効です

しかし、試してみるとcol1 TIMESTAMP NULL DEFAULT NULL、そのテーブルが作成されました。

上記の2つの構文の違いを知りたいです。また、列にNULL値を挿入する場合にも、この問題に以前に直面しました。

バージョン固有の問題やMySQLの問題など、この問題の原因を誰かが説明できますか?

4

1 に答える 1

12

1 つ目NULLは、列がNULL 可能であること、つまり受け入れ可能であることを示していますNULL。2 番目NULL( の後DEFAULT) はデフォルト値です。

デフォルトしかなく、列が null を拒否するようにすると、そのデフォルトは使用できません。

NULL(ただし、どちらも指定しない場合、またはNOT NULL列が null 可能であることを指定しない場合、表示される内容は少し混乱するという印象を受けました)。

于 2012-09-10T07:05:19.953 に答える