MySQL5.1であるアプリを作っていたときに知ったことを備忘がわりにメモ。 あるテーブルを生成する際に timestamp型のカラムを用意した。 特にデフォルト値等は設定しなかった。 で、アプリ側でINSERT文で、このカラムに何も指定しなかったのでNULLが入っているはずと思いきや そのINSERT文を実行した現在日時がセットされていた!! INSERT文で指定していないのに、なんで現在日時が入ってるんだ? timestamp型ってこういう動きなのか? いや同じテーブルの別のtimestamp型には入っていない(0000-00-00 00:00:00になってたが) じゃあ、デフォルトをNULLにしとけばいいかと思って カラム名 timestamp DEFAULT NULL にしたらinvalid defaultとか怒られてしまった。 え?デフォルトNULL指定できないの? そんな不便な
![『MySQLのTimestamp型にNULLを許容したい場合のやり方』](https://cdn-ak-scissors.b.st-hatena.com/image/square/0d5351036b58fd1fdea9d6601948d7901f25b366/height=288;version=1;width=512/https%3A%2F%2Fstat.profile.ameba.jp%2Fprofile_images%2F20120916%2F01%2F89%2F94%2Fj%2Fo040304031347726082056.jpg)