在插入时将数据从一个表传输到另一个表

时间:2013-07-27 14:29:47

标签: php mysql sql phpmyadmin forum

我目前正在使用php和mysql创建一些互联网论坛,我遇到了障碍......我不知道如何实现需要的约束,甚至如何将其实现到我的网站中(sql触发器或过程或php脚本?)。

所以无论如何,我有一个名为blog的数据库,有两个表:帖子和帖子。在posts表中有两列将参与其中,reply_id和parent_id,在posts表的每个插入中,我需要将刚刚插入的行的reply_id设置为线程的表topic_order,其中topic_id = parent_id ..

显示主题的页面按最高的topic_order对它们进行排序,因此更高的reply_id意味着更高的topic_order,并且会将一个主题添加到列表的顶部。

$result_t = mysqli_query($con,"SELECT * FROM threads WHERE board_id='$row_b[board_id]' ORDER BY topic_order DESC");

目前正在显示http://fenster.myftp.org/blog/forums/board.php?id=1

我需要一个sql触发器,通过反复试验,我发现我可以使用reply_id查找刚插入的行,然后将其限制为只有该行的数据

CREATE TRIGGER `bump` AFTER INSERT ON `posts`
 FOR EACH ROW UPDATE threads
SET topic_order=(SELECT reply_id FROM posts ORDER BY reply_id DESC LIMIT 1)
WHERE topic_id=(SELECT parent_id FROM posts ORDER BY reply_id DESC LIMIT 1)

1 个答案:

答案 0 :(得分:0)

替换此

    WHERE board_id='$row_b[board_id]'

通过

   WHERE board_id='".$row_b['board_id']."'
                            ^--------^--------you need quotes here