@d1zz74

Как в MySql изменять строку в зависимости от данных?

Возможно не правильно задал вопрос в заголовке, но, кароч
Есть две таблицы (пример):
Таблица1 где юзеры.
Таблица2 где ну типо:
user1 | user2
id1 | id123
id2 | id123
id3 | id123
И у меня есть такой список (пример):
user1 | user2
id1 | id5
id2 | id6
id3 | id7

Т.е в таблице2 надо изменить значение user2 в зависимости от айди юзера по списку выше.
Где user1 id1 - user2 должно быть id5, где id2 - id6 и так далее

upd:
Ну постараюсь обьяснить по другому:
SET @user1 = 1
,
@user2 = 5
;

UPDATE table2 set user2 = @user2
WHERE user2 = 123 and user1 = @user1

Вот это вот сделать несколько раз, но только менять значения @user1 и @user2 отсюда:
user1 | user2
id1 | id5
id2 | id6
id3 | id7
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
Вот возможный вариант:
update users_match
set usr2 = case
	when usr1 = 1 then 5
	when usr1 = 2 then 6
	when usr1 = 3 then 7
	else usr2
end;


MySQL fiddle
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы