我遇到了InnoDB的問題(表是最初的MyISAM,但是之前將它轉換為InndoB)表;我正在嘗試運行此查詢:
SELECT
posts.id,
posts.post_title
FROM
rss_posts AS posts
INNER JOIN rss_feeds AS feeds ON posts.blog_id=feeds.id
WHERE
feeds.blog_language=1
ORDER BY
posts.post_date_db DESC
LIMIT
10;
我收到此錯誤:
Query : SELECT posts.id,posts.post_title FROM rss_posts AS posts INNER JOIN vw_rss_feeds AS feeds ON posts.blog_id=feeds.id WHER...
Error Code : 126
Incorrect key file for table '/tmp/#sql_7375_0.MYI'; try to repair it
我不能對所涉及的桌子進行維修;不過我已經對兩張桌子都進行了檢查.他們看起來很好.我在兩張桌子和桌子上都做了一個OPTIMIZE.還通過以下方式重建了表格.
INSERT INTO new_table SELECT * FROM old_table;
然后我將新表重命名為舊表名…..但我仍然遇到這個問題.
嘗試&找出導致它的表是什么我刪除了引用“rss_feeds”表的查詢中的代碼….所以現在查詢看起來像這樣..
SELECT
posts.id,
posts.post_title
FROM
rss_posts AS posts
ORDER BY
posts.post_date_db DESC
LIMIT
10;
那很有效.
所以這個問題與rss_feeds表有關.
那么我想我會把表轉換回MyISAM&進行維修&然后轉換回InnoDB …..這暫時工作,它恢復正常….然后再次破壞…..再次修復它,再次破壞….現在修復似乎沒有工作.
現在,我知道,我知道……我已經在谷歌上搜索過這個問題了……我注意到問題在于我們在MySQL臨時目錄中沒有足夠空間的MAJORITY. …但我已經讓主持人將臨時目錄更改為更多空間&問題仍然存在.
我認為主機應該歸咎于&它仍然是臨時目錄的一個問題;為什么?因為在我再次使用它之后我再次開始向rss_posts表中添加數據&因此,JOIN將獲得更大和更多MySQL會再次耗盡空間……你怎么看?