繁体   English   中英

插入时将数据从一个表转移到另一个表

[英]Transfer data from one table to another on insert

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

因此,无论如何,我有一个名为blog的数据库,其中有两个表:posts和threads。 在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)

取代这个

    WHERE board_id='$row_b[board_id]'

通过

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM