Можно поменять значения столбца между 2 рядами в таблице MySQL, используя один запрос?MySql

Форум по Mysql
Anonymous
Можно поменять значения столбца между 2 рядами в таблице MySQL, используя один запрос?

Сообщение Anonymous »

У меня есть таблица, содержащая элементы, которые заказаны по имени поля «слой». Я делал это, используя следующий отдельный запрос: < /p>
UPDATE tileplaceable AS n1 JOIN tileplaceable AS n2
ON (n1.p_id = ? AND n2.p_id = ? AND n1.t_id = ? AND n2.t_id = ?)
OR (n2.p_id = ? AND n1.p_id = ? AND n1.t_id = ? AND n2.t_id = ?)
SET n1.layer = n2.layer, n2.layer = @temp := n1.layer;
< /code>
Иногда мой пользовательский интерфейс заканчивается в неверном состоянии, где оба ряда имеют одинаковое значение «слоя». Я предполагаю, что это не гарантированно будет выполнено в правильной последовательности или в качестве атомной операции. Я ошибаюсь, или есть надежный способ сделать это как единый запрос, не требуя транзакции?

Подробнее здесь: https://stackoverflow.com/questions/796 ... l-table-us

Вернуться в «MySql»