Любой способ запустить цикл эквивалент в MySQL?
У меня есть таблица, которая в основном выглядит так:
ID Name
1 test1
2 test2
n testn
Я пытаюсь написать запрос, который сначала обновляет 1 строку за раз, затем, если я чувствую себя жадным, обновляет все строки. Я пробовал пользовательские переменные, как это:
SET @x = '1';
SET @name = CONCAT('test', @x);
UPDATE mytable SET Name = @name WHERE ID = @x;
Но этот запрос не проходит. Почему этот запрос не выполняется, и возможно ли улучшить его до чего-то вроде цикла for для обновления каждого поля имени в таблице? Для последнего возможно ли что-то подобное?
<for loop>
SET @x = Name;
SET @name = CONCAT('test', @x);
UPDATE mytable SET Name = @name WHERE ID = @x;
<end loop>
1 ответ
Что-то не так с:
UPDATE mytable
SET name = CONCAT('test',id)
/* WHERE id = 1 /* If you want to limit it */