sgykfjsm.github.com

MySQLのALTERで’The table ‘#sql-xxxx’ is full’と言われたら

とりあえず、DBの空き容量とALTERしようとしているテーブルの容量を確認する。

公式マニュアルには以下のようにある。

In most cases, ALTER TABLE makes a temporary copy of the original table.

いくつかの例外はあるものの、カラムを追加したり削除したりする場合は一時テーブルが作られる模様。なので、対象テーブル分の空き容量が必要となる。とは言え、実際の容量分だけあればよいかというと、そうでも無いみたいで、目安として大体ALTERしようとしているテーブルの容量 * 2ぐらいの空き容量が必要なので、足りてない場合はそんな感じで容量を増やせば良い。

おまけ

テーブルの容量を調べたい場合は、こちらのブログを参考にすると良い。