DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(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