0
在論壇更新之後,我留下了應該填滿的空白字段。 我想用名爲post的表中的字段更新一個名爲thread的表。我需要處理由threadid,postid排序的發佈表。MYSQL通過一個表格步驟並更新另一個
Table: post
Field: postid - data is valid
Field: threadid - data is valid
Table: thread
Field: threadid - data is valid and matches post.threadid
Field: firstpostid - should be first post.postid found
Field: lastpostid - should be last post.postid found
Field: lastpost - should be last post.postid found
一切我嘗試是產生了firstpostid相同的值,lastpostid
這是最接近我得到試圖建立一種以一次更新一個字段。我無法正確設置訂單。
UPDATE thread
INNER JOIN post ON post.threadid = thread.threadid
SET thread.firstpostid =
IF(thread.firstpostid > post.postid, post.postid, thread.firstpostid)
WHERE postid <> 0
任何指針都會很棒。謝謝
我很感激你的幫助,但我仍在掙扎。有關表格是5300個帖子和333個線程,所以我不介意使用簡單低效的代碼來獲得這份工作。我會非常高興地通過幾次表格來設置每場傳球。如果我知道在哪裏使用索引或按指令順序,我認爲我可以管理。 – Chris
理想情況下,我需要使用訂單threadid,postid並寫入表格線程,一次在帖子表中創建一條記錄。那可能嗎? – Chris
可以單獨處理行RBAR(通過激動行來行)。這是很多新手所採取的方法。這種方法並不理想,因爲它在大型設備上顯得非常慢並且資源密集程度過高。這不可避免地導致了「爲什麼我的產量這麼慢,當它在我的小測試集上工作時」。對「數據集」進行操作會更有效率。 – spencer7593