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