代码之家  ›  专栏  ›  技术社区  ›  Asperger

Mysql/php合并UPDATE Mysql查询进行优化是否可行?

  •  0
  • Asperger  · 技术社区  · 10 年前

    是否可以合并这些或我每次都要单独查询?我尝试了UNION或AND关键字,但没有得到任何结果。

    我希望得到一些反馈。

            $query= "UPDATE sys 
                     SET nice = nice - 1";
            mysqli_query($connection, $query);
    
            $query= "UPDATE voting_system 
                     SET ugly = ugly + 1";
            mysqli_query($connection, $query);
    
            $query= "UPDATE voting_check 
                     SET voted = 'ugly'";
            mysqli_query($connection, $query);
    
    2 回复  |  直到 10 年前
        1
  •  1
  •   taxicala    10 年前

    您可以用逗号分隔要更新的表,然后在SET中将表名追加到行名之前:

     "UPDATE sys, voting_system, voting_check SET sys.nice = sys.nice - 1, voting_system.ugly = voting_system.ugly + 1, voting_check.voted = 'ugly'"
    
        2
  •  0
  •   Beroza Paul    10 年前

    但事实是MySQL不支持在单个INSERT语句中插入多个表。Oracle做到了。

    我在MyQSL服务器中尝试了以下更新查询,结果成功了:

    UPDATE user, company, event SET user.join_date = NOW(), company.created_at = NOW(), event.created_at = NOW();
    

    但当我尝试上述查询的插入版本时,它不起作用。以下是它的插入版本。

    INSERT INTO user, company, event SET user.join_date = NOW(), company.created_at = NOW(), event.created_at = NOW();
    
    推荐文章