1. ホーム
  2. mysql

[解決済み] 1114(HY000)です。テーブルが満杯です

2022-06-26 02:19:25

質問

行を InnoDB テーブルに行を追加しようとしています。

INSERT INTO zip_codes (zip_code, city) VALUES ('90210', 'Beverly Hills');

しかし、このクエリを試したところ、次のようになります。

エラー 1114 (hy000)。テーブル zip_codes がいっぱいです。

をすること。

SELECT COUNT(*) FROM zip_codes

を実行すると 188,959 行が得られます。同じデータベースに 810,635 行の別のテーブルがあることを考えると、それほど多くはないように思われます。

私はかなり経験が浅いので InnoDB engine でこの問題を経験したことはありません。 MyISAM . この場合、どのような問題が発生する可能性があるのでしょうか?

編集: これは、行を zip_codes テーブルに行を追加したときのみ発生します。

どのように解決するのですか?

EDITです。 まず、ディスク容量が不足していないかどうか、設定関連の解決に入る前に確認してください。

の最大サイズが小さすぎるようです。 innodb_data_file_path の中で my.cnf の中で、この例では

innodb_data_file_path = ibdata1:10M:autoextend:max:512M

innodb のすべてのテーブルを合わせて 512MB を超えるデータをホストすることはできません。

を使ったinnodb-per-tableスキームに切り替えた方がいいかもしれません。 innodb_file_per_table .