問題点の説明
データ管理 (DMS) コンソールでApsaraDB RDS for MySQLインスタンスまたはECSホストのセルフマネージド型データベースやオンプレミスデータベースなどのセルフマネージド型MySQLデータベースのSQL文を実行すると、次のエラーメッセージが返されます。
行サイズが大きすぎます。 使用されるテーブルタイプの最大行サイズは、BLOBではなく65535です。 これにはストレージオーバーヘッドが含まれます。マニュアルを確認してください。 一部の列をTEXTまたはBLOBに変更する必要があります
原因
MySQLデータベースにテーブルを作成する場合、フィールドの長さは65,535バイトを超えることはできません。 InnoDBストレージエンジンがより多くのバイトをサポートしているかどうかに関係なく、フィールド長の上限は変更できません。 詳細については、「テーブル列数と行サイズの制限」をご参照ください。
解決策
この問題を修正するには、次のいずれかの方法を使用します。
フィールドのタイプを変更します。 フィールドのタイプは、VARCHARやCHARからTEXTやBLOBなど、サイズの大きいフィールドからサイズの小さいフィールドに変更できます。
DMSコンソール にログインします。
左側のナビゲーションウィンドウで、[データベースインスタンス] セクションで変更するデータベースインスタンスをクリックします。
[SQLコンソール] タブで、ターゲットテーブルを右クリックし、[テーブル構造の編集] を選択します。
[テーブルの編集] ページで、[列情報] タブをクリックし、必要に応じて列の種類を変更します。
フィールドの長さを短くします。 ビジネス要件に基づいて、VARCHARタイプまたはCHARタイプのフィールドの長さを減らすことができます。
DMSコンソール にログインします。
左側のナビゲーションウィンドウで、[データベースインスタンス] セクションで変更するデータベースインスタンスをクリックします。
[SQLコンソール] タブで、ターゲットテーブルを右クリックし、[テーブル構造の編集] を選択します。
[テーブルの編集] ページで、[列情報] タブをクリックし、必要に応じて列の長さを減らします。
適用範囲
DMS
ApsaraDB RDS