ハマログ

株式会社イーツー・インフォの社員ブログ

テーブル内のすべてのフィールドの合計サイズが上限65535を超えているため、エラーが発生

laravelで php artisan migrate を実行したらエラーが出ました。


SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large.
The maximum row size for the used table type, not counting BLOBs, is 65535
. This includes storage overhead, check the manual. You have to change some
columns to TEXT or BLOBs

テーブル内のすべてのフィールドの合計サイズが上限65535を超えているため、このエラーが発生しています。
長い文字列のtext代わりに型を使うべきvarcharとのことです。

14.6.7 InnoDB テーブル上の制限

型を見直したらうまくいきました。

テーブルに設定したデータ型と入力したデータのデータ型が異なっていた場合、変更可能であればエラーとならずに暗黙の型変換が行われます。
便利な機能のように思えますが、この型変換にかかる時間を回避するためにも、入力されるデータの型をきちんと洗い出して設定することが重要となります。

第 11 章 データ型

またひとつお勉強になりました。

mysqlデータ型

  S.I   2017年12月12日


関連記事

もはやドッキリ!?なイベント

こんばんは! 今日は先日行ってきたイベントについて書こうと思います! 「第12回…

XAMPPでローカル環境構築&バーチャルホスト&SSL設定

久しぶりにXAMPPでローカル環境構築&バーチャルホスト&SSL設定をしました。…

CentOS Stream 8でSSH鍵認証ログインできない(暗号化形式が古かった)

CentOS Streamでサーバー構築をしています。ユーザーアカウントを作成し…


← 前の投稿

次の投稿 →