[英]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.