Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / поменять местами значения уникального столбца. / 4 сообщений из 4, страница 1 из 1
18.02.2014, 17:23:06
    #38564899
Euler7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поменять местами значения уникального столбца.
Доброго времени суток. Есть таблица, в ней столбец с уникальными идентификаторами(не PRIMARY). Можно ли как-то поменять местами значения в двух строках?
Пример:

Нужно, чтобы у Пети subId стал равен 1, а у Коли наоборот 3.
Подскажите пожалуйста, каким запросом это можно реализовать.
...
Рейтинг: 0 / 0
18.02.2014, 17:28:41
    #38564905
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поменять местами значения уникального столбца.
Пара вариантов:
Код: sql
1.
2.
3.
UPDATE mytable SET subid=-1 WHERE subid=3;
UPDATE mytable SET subid=3 WHERE subid=4;
UPDATE mytable SET subid=4 WHERE subid=-1;

вместо -1 можно взять любое другое допустимое значение, которого гарантированно нет в таблице.
Код: sql
1.
UPDATE mytable SET subid=3+4-subid WHERE subid IN (3,4)

Второй вариант, очевидно, сработает только если поле subid числового типа.
...
Рейтинг: 0 / 0
18.02.2014, 18:56:45
    #38565064
Euler7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поменять местами значения уникального столбца.
miksoftUPDATE mytable SET subid=3+4-subid WHERE subid IN (3,4)
Примерно так я сразу и решил делать:
Код: sql
1.
UPDATE `mytable` SET `subId`=1 XOR 2 XOR `subId` WHERE `subId` IN(1,2)


Но вылетает ошибка из-за дубликата :( . Похоже одним запросом нельзя :( .
...
Рейтинг: 0 / 0
22.02.2014, 13:28:58
    #38569389
deblogger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поменять местами значения уникального столбца.
Сортировать надо потому что.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / поменять местами значения уникального столбца. / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]