勉強の為にMySQLでいろいろテーブルを作成していた時の足跡。

DATETIMEにデフォルトでNULLを入れるとエラーが出ました。



エラー

#1067 – Invalid default value for ‘created’

実行した SQL:

ALTER TABLE `comments` ADD `body` TEXT NOT NULL ,

ADD `post_id` INT NOT NULL ,

ADD `created` DATETIME NOT NULL DEFAULT NULL ,

ADD `modified` DATETIME NOT NULL DEFAULT NULL



そこでDATETIME型からTIMESTAMP型に変更しました。

比較すると

TIMESTAMP

  • TIMESTAMP型で使える範囲:1970年 〜 2037年
  • 4 バイト使う
  • デフォルトで更新時刻をインサートすることができる

DATETIME

  • DATETIME型で使える範囲:1000年 〜 9999年
  • 8 バイト使う
  • デフォルト値は固定値じゃないとダメ


以下のように、TIMESTAMPにデフォルト値CURRENT_TIMESTAMPを設定します。

ALTER TABLE `comments` ADD `body` TEXT NOT NULL ,

ADD `post_id` INT NOT NULL ,

ADD `created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,

ADD `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

意図した通りデータをインサートした時に、createdフィールドとmodifiedフィールドへ現在時刻が挿入されました。

 

 

 



 

◆クローズドでしか伝えられない情報はメールマガジンで発信しています。
 
 
 
◆西アフリカの太鼓・ジャンベを叩いて歌うシンガーソングライターKackey@dabigtree公式ホームページ  
 
 
 
◆Kackey@dabigtreeの公式Facebookページ 
 
 
 
◆家具・インテリア・観葉植物による空間コーディネート
 
 
 
◆小規模ホームページ作ってます!
大阪市内、北摂地域にあるサロン、美容室、歯医者、カフェ、バー、など10名以下の商店、会社、団体様、または個人様向け  

 

Yamandara




Twiiter

Facebook

Instagram



◆クローズドでしか伝えられない情報はメールマガジンで発信しています。

フィジカル・メンタル・ソーシャル・アート・ビジネス・旅にフォーカスしたKackey@dabigtreeの無料メールマガジンの登録はコチラから!

 

◆西アフリカの太鼓・ジャンベを叩いて歌うシンガーソングライターKackey@dabigtree公式ホームページ

Kackey@dabigtree Official Site 『そこがOASIS』

 

◆Kackey@dabigtreeの公式Facebookページ

Kackey@dabigtree Facebook Page

 

◆家具・インテリア・観葉植物による空間コーディネート

anteriors furniture(アンテリアス・ファニチャー)

 

◆小規模ホームページ作ってます!

大阪市内、北摂地域にあるサロン、美容室、歯医者、カフェ、バー、など10名以下の商店、会社、団体様、または個人様向け

大阪・千里のホームページ制作屋『太陽の塔が地元』