问题描述
我正在尝试通过简单的查询向 InnoDB
表添加一行:
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): zip_codes
表已满
ERROR 1114 (HY000): The table
zip_codes
is full
做一个
SELECT COUNT(*) FROM zip_codes
给了我 188,959 行,考虑到我在同一个数据库中有另一个包含 810,635 行的表,这似乎不算太多.
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.
我对 InnoDB 引擎
相当缺乏经验,并且从未遇到过 MyISAM
的这个问题.这里有哪些潜在问题?
I am fairly inexperienced with the InnoDB engine
and never experienced this issue with MyISAM
. What are some of the potential problems here ?
这只发生在向 zip_codes
表中添加一行时.
This only occurs when adding a row to the zip_codes
table.
推荐答案
首先检查,如果您没有用完磁盘空间,然后再解决与配置相关的解决方案.
First check, if you did not run out of disk-space, before resolving to the configuration-related resolution.
您的 my.cnf
中的 innodb_data_file_path
的最大大小似乎太小了,在这个例子中
You seem to have a too low maximum size for your innodb_data_file_path
in your my.cnf
, In this example
innodb_data_file_path = ibdata1:10M:autoextend:max:512M
你不能在所有 innodb 表中托管超过 512MB 的数据.
you cannot host more than 512MB of data in all innodb tables combined.
也许您应该使用 innodb_file_per_table
切换到 innodb-per-table 方案.
Maybe you should switch to an innodb-per-table scheme using innodb_file_per_table
.
这篇关于1114 (HY000): 表已满的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!