Update SQL with consecutive numbering

This probably depends on your database, but here is a solution for MySQL 5 that involves using a variable:

SET @a:=0;
UPDATE table SET field=@a:=@a+1 WHERE whatever="whatever" ORDER BY field2,field3

You should probably edit your question and indicate which database you’re using however.

Edit: I found a solution utilizing T-SQL for SQL Server. It’s very similar to the MySQL method:

DECLARE @myVar int
SET @myVar = 0

UPDATE
  myTable
SET
  @myvar = myField = @myVar + 1

Leave a Comment