相关疑难解决方法(0)

ERROR 1114(HY000):桌子已满

我正在尝试使用简单查询向InnoDB表添加一行:

INSERT INTO zip_codes (zip_code, city) VALUES ('90210', 'Beverly Hills');
Run Code Online (Sandbox Code Playgroud)

但是当我尝试这个查询时,我得到以下内容:

SELECT COUNT(*) FROM zip_codes
Run Code Online (Sandbox Code Playgroud)

做一个"SELECT COUNT(*)FROM zip_codes"给了我188,959行,考虑到我在同一个数据库中有另一个810,635行的表,这似乎不太多.

我对InnoDB引擎缺乏经验,从未在MyISAM上遇到过这个问题.这里有哪些潜在的问题?

编辑:只有在zip_codes表中添加行时才会出现这种情况.

mysql innodb

100
推荐指数
14
解决办法
19万
查看次数

表'/tmp /#sql_3c51_0.MYI'的密钥文件不正确; 尝试修复它

我写了一个查询,这在我的本地服务器上运行正确,它有更少的数据,

但是当我在生产服务器上运行它时会出错 - (这有更多的数据在6GB左右)

Incorrect key file for table '/tmp/#sql_3c51_0.MYI'; try to repair it
Run Code Online (Sandbox Code Playgroud)

这是我的查询

SELECT   
    `j25_virtuemart_products`.`virtuemart_product_id`,
    `product_name`, 
    `product_unit`,
    `product_s_desc`,
    `file_url_thumb`,
    `virtuemart_custom_id`, 
    `custom_value`   
    FROM 
    `j25_virtuemart_product_customfields`,
    `j25_virtuemart_products`,
    `j25_virtuemart_products_en_gb`,
    `j25_virtuemart_product_medias`,
    `j25_virtuemart_medias`     
    WHERE
    (
    `j25_virtuemart_products`.`virtuemart_product_id`=`j25_virtuemart_products_en_gb`.`virtuemart_product_id`
    AND 
    `j25_virtuemart_products`.`virtuemart_product_id`=`j25_virtuemart_product_customfields`.`virtuemart_product_id`)

AND

    `j25_virtuemart_products`.`virtuemart_product_id`=`j25_virtuemart_product_medias`.`virtuemart_product_id`
    AND 
    `j25_virtuemart_product_medias`.`virtuemart_media_id`=`j25_virtuemart_medias`.`virtuemart_media_id`

    GROUP BY `j25_virtuemart_products`.`virtuemart_product_id`

    LIMIT 0, 1000;
Run Code Online (Sandbox Code Playgroud)

任何人都知道如何从该错误中恢复 - 比如otimize这个查询或任何其他方式谢谢你

mysql

29
推荐指数
3
解决办法
6万
查看次数

标签 统计

mysql ×2

innodb ×1