ERROR 1114 (HY000): The table is full

2019-01-02 20:16发布

I'm trying to add a row to an InnoDB table with a simply query:

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

But when I attempt this query, I get the following:

ERROR 1114 (HY000): The table `zip_codes` is full

Doing a "SELECT COUNT(*) FROM zip_codes" gives me 188,959 rows, which doesn't seem like too many considering I have another table with 810,635 rows in that same database.

I am fairly inexperienced with the InnoDB engine and never experienced this issue with MyISAM. What are some of the potential problems here?

EDIT: This only occurs when adding a row to the zip_codes table.

标签: mysql innodb
19条回答
唯独是你
2楼-- · 2019-01-02 20:50

Unless you enabled innodb_file_per_table option, InnoDB keeps all data in one file, usually called ibdata1.

Check the size of that file and check you have enough disk space in the drive it resides on.

查看更多
高级女魔头
3楼-- · 2019-01-02 20:50

In my case the server memory was full so the DB could not write the temp data. To solve it you just have to make some place on your drive.

查看更多
骚的不知所云
4楼-- · 2019-01-02 20:51

Another possible reason is the partition being full - this is just what happened to me now.

查看更多
残风、尘缘若梦
5楼-- · 2019-01-02 20:53

You will also get the same error ERROR 1114 (HY000): The table '#sql-310a_8867d7f' is full

if you try to add an index to a table that is using the storage engine MEMORY.

查看更多
泛滥B
6楼-- · 2019-01-02 20:53

In my case, this was because the partition hosting the ibdata1 file was full.

查看更多
公子世无双
7楼-- · 2019-01-02 20:54

To quote the MySQL Documents.

The InnoDB storage engine maintains InnoDB tables within a tablespace that can be created from several files. This allows a table to exceed the maximum individual file size. The tablespace can include raw disk partitions, which allows extremely large tables. The maximum tablespace size is 64TB.

If you are using InnoDB tables and run out of room in the InnoDB tablespace. In this case, the solution is to extend the InnoDB tablespace. See Section 13.2.5, [“Adding, Removing, or Resizing InnoDB Data and Log Files”.]

查看更多
登录 后发表回答