Laravel6のTIMESTAMP型のデータでTrailing dataエラーが発生

Laravelのロゴ 備忘録

どうもmizukiです。結構前に設計したデータベースのTIMESTAMP型のデータをLaravelにて表示しようとしたら『Trailing dataエラー』が発生しました。
今回は運よく参考サイトが見つかりハマらずにすみました、最初は日付型は表示できないのかな?と思い文字列に直したりしていましたけど見事に的外れな対応でした。

Trailing dataエラーの発生原因

TIMESTAMP(6)と言うカラムが有り、その日付データが小数点第6位まで保持しており、そのデータを使用する際にTrailing dataエラーが発生していた。

▼こんな感じになってます。左側の赤枠がNG、青枠がOK

なぜTIMESTAMP(6)と言うカラムが生まれたか

原因がMySQL Workbenchで組んだテーブルにありました。ものすごく急いでER図を作っていてTIMESTAMP型の設定をする際にTIMESTAMP()で設定を試みましたがエラーで弾かれたので、とりあえずどこかのサイトで見つけたTIMESTAMP(6)と言う設定で作りました。ちなみに正しい設定方法はTIMESTAMP(0)で設定するとTIMESTAMP()になるので、今後設定する際はそうします。

まとめ

急いでやって、とりあえずできたからヨシ!で進めると結局自分が困るので、なるべく疑問点を潰しつつ作業しようと思いました。
ただ実際、仕事には時間が決まっているので難しいところです。今回はソロ開発なので誰にも迷惑が掛かりませんが、チーム開発だと思うと完全にお荷物です。

明日も開発頑張りましょう!

データベース設計する頻度が3か月~半年に一回ペースなので前回のノウハウを見事に忘れていて毎回苦戦しますね。無能なので折角のノウハウを忘れないようにするにはどうすれば良いか模索しています。自宅でもデータベースの設計を考えたりして頻度上げていくしかなさそうです。

参考

コメント

タイトルとURLをコピーしました