【问题标题】:Is it possible to execute the two update queries in phpmyadmin together?是否可以一起执行 phpmyadmin 中的两个更新查询?
【发布时间】:2010-04-14 13:08:36
【问题描述】:

phpmyadmin中的两个更新查询可以一起执行吗?

同样明智

UPDATE jos_menu SET home = 0 WHERE 1;
UPDATE jos_menu SET home = 1 WHERE id = 9;

现在我们可以将这两个查询一起复制并在 phpmyadmin sql 查询面板上运行吗? 会被执行吗?

【问题讨论】:

  • 你试过了吗?还是你害怕?
  • :-) 害怕..我做不到...在 DB 上直播

标签: php mysql


【解决方案1】:

是的,这两个查询都将被执行。您可以添加的唯一附加内容是transaction。多亏了这一点,您将确保两个查询都成功执行:

START TRANSACTION;
UPDATE jos_menu SET home = 0 WHERE 1;
UPDATE jos_menu SET home = 1 WHERE id = 9;
COMMIT;

【讨论】:

    【解决方案2】:
    update jos_menu set home=case id when 9 then 1 else 0 end
    

    这将更新所有行,将 1 设置为 id=9 的所有行,将 0 设置为其余行

    【讨论】:

      【解决方案3】:

      如果您不确定某些 SQL 是否会破坏您的活动站点并且您没有开发服务器,请复制数据库表并在其上进行测试。

      CREATE TABLE jos_menu_test LIKE jos_menu;
      INSERT jos_menu_test SELECT * FROM jos_menu;
      

      【讨论】:

        【解决方案4】:

        根据@crozin 的回答,我做了以下查询:

        START TRANSACTION;
        SELECT id into @idTech FROM `team` WHERE abbr = 'D19';
        delete from team_dayoff where team_id = @idTech;
        delete from team_layer_lease where team_id = @idTech;
        delete from team_product_linker where team_id = @idTech;
        delete from team where id = @idTech;
        COMMIT;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-01-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-09-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多