【问题标题】:Invision 3.4 sql queryInvision 3.4 sql查询
【发布时间】:2015-06-21 18:02:35
【问题描述】:

我需要从我网站的一个论坛中删除某些图片。例如,如果我使用以下

更新 forums_posts SET post = REPLACE(post, 'hep', 'help')

这将删除 hep 并将其替换为 help 一词,在整个董事会中。

我想要的是只适用于一个论坛,论坛 id 3。但是在帖子表中,没有任何东西可以将每个主题分配给一个论坛,即在主题表中 - forum_id。

所以,我需要该查询在 topic_id(帖子表)= tid(主题表)和 forum_id = 3(主题表)的情况下工作

有人吗? :)

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    您可以在 SQL 语句中使用 join 来执行此操作:

    UPDATE forums_posts p JOIN
           Topics t
           on p.topic_id = t.tid
        SET p.post = REPLACE(p.post, 'hep', 'help')
        WHERE t.forum_id = 3;
    

    如果有兴趣,这是 MySQL 特定的语法。 ANSI SQL 等效项是:

    UPDATE forums_posts p
        SET post = REPLACE(post, 'hep', 'help')
        WHERE EXISTS (SELECT 1
                      FROM Topics t
                      WHERE p.topic_id = t.tid AND t.forum_id = 3
                     );
    

    【讨论】:

    • ibf_posts 和 ibf_topics 是我的表格,如果我将 forums_posts 更改为 ibf_posts,上述内容是否仍然适用,或者主题是否也需要更改为 ibf_topics?
    • @MarkS 。 . . SQL 代码需要有您的实际表名才能工作。
    猜你喜欢
    • 1970-01-01
    • 2017-09-08
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 2015-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多