(mysql.info) full-table
Info Catalog
(mysql.info) communication-errors
(mysql.info) common-errors
(mysql.info) cannot-create
A.2.11 `The table is full'
--------------------------
There are several ways a full-table error can occur:
* You are using a MySQL server older than 3.23 and an in-memory
temporary table becomes larger than `tmp_table_size' bytes. To
avoid this problem, you can use the `--tmp_table_size=VAL' option
to make `mysqld' increase the temporary table size or use the SQL
option `SQL_BIG_TABLES' before you issue the problematic query.
See set-option.
You can also start `mysqld' with the -big-tables option. This is
exactly the same as using `SQL_BIG_TABLES' for all queries.
As of MySQL 3.23, this problem should not occur. If an in-memory
temporary table becomes larger than `tmp_table_size', the server
automatically converts it to a disk-based `MyISAM' table.
* 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 adding-and-removing.
* You are using `ISAM' or `MyISAM' tables on an operating system that
supports files only up to 2GB in size and you have hit this limit
for the data file or index file.
* You are using a `MyISAM' table and the space required for the
table exceeds what is allowed by the internal pointer size. If you
don't specify the `MAX_ROWS' table option when you create a table,
MySQL uses the `myisam_data_pointer_size' system variable. From
MySQL 5.0.6 on, the default value is 6 bytes, which is enough to
allow 256TB of data. Before MySQL 5.0.6, the default value is 4
bytes, which is enough to allow only 4GB of data. See
server-system-variables.
You can check the maximum data/index sizes by using this statement:
SHOW TABLE STATUS FROM database LIKE 'TBL_NAME';
You also can use `myisamchk -dv /path/to/table-index-file'.
If the pointer size is too small, you can fix the problem by using
`ALTER TABLE':
ALTER TABLE TBL_NAME MAX_ROWS=1000000000 AVG_ROW_LENGTH=NNN;
You have to specify `AVG_ROW_LENGTH' only for tables with `BLOB' or
`TEXT' columns; in this case, MySQL can't optimize the space
required based only on the number of rows.
Info Catalog
(mysql.info) communication-errors
(mysql.info) common-errors
(mysql.info) cannot-create
automatically generated byinfo2html