【问题标题】:How to swap values of two rows in Yii2 without violating unique constraint?如何在不违反唯一约束的情况下交换 Yii2 中两行的值?
【发布时间】:2016-03-02 09:57:12
【问题描述】:

我需要一些类似的想法

START TRANSACTION;
    UPDATE tasks 
    SET priority = 2 
    WHERE id = 1;

    UPDATE tasks 
    SET priority = 1 
    WHERE id = 2;
COMMIT;

当 task1 优先级为 1,task2 - 2.

【问题讨论】:

    标签: php database activerecord transactions yii2


    【解决方案1】:

    我在 MySQL 中有一个解决方案:

    UPDATE tasks a
    INNER JOIN tasks b on a.id <> b.id
    SET a.priority = b.priority
    WHERE a.id IN (1,2) 
          AND b.id IN (1,2)
    

    希望你能把它转换成ActiveRecord

    【讨论】:

      猜你喜欢
      • 2016-09-06
      • 2012-06-27
      • 1970-01-01
      • 1970-01-01
      • 2012-05-03
      • 1970-01-01
      • 2020-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多