Ответ 1
Попробуйте следующее:
mysql> select @i := 0;
mysql> update bar set c = (select @i := @i + 1);
одно поле моего поля таблицы установлено равным 0 для всех строк. но я хочу обновить до инкрементного значения на шаг 1 в запросе обновления.
как я могу сделать это в mysql?
Попробуйте следующее:
mysql> select @i := 0;
mysql> update bar set c = (select @i := @i + 1);
SET @a = 0;
UPDATE customers SET id = @a:[email protected]+1;
Вы можете пойти и на это.
Один из способов - создать новую таблицу с столбцом AUTO_INCREMENT вместо исходного столбца, вставив все данные из старого в новую таблицу, а затем переименовав новое и удалив старый.
Другим способом является запуск вашего запроса на обновление с переменной MySQL, которая генерирует все большее число для каждой строки (для эмуляции функции ROW_NUMBER() найденных в других СУБД).