2010-09-28 6 views

Répondre

2

Vous pouvez le faire comme ça, avec l'affectation et l'incrément combiné:

SET @id := 0; 
UPDATE table1 
SET 
    field1 = (@id := @id + 1) 

EDIT: vous pouvez même utiliser un ORDER BY sur une telle requête UPDATE pour spécifier l'ordre dans lequel les numéros doivent être attribués.

+0

thx, c'est un travail !!! – nex2hex

0

Ce dont vous avez besoin est une séquence. Vous pouvez utiliser this implementation par exemple:

INSERT INTO seq VALUES('s1',1); 
UPDATE table1 SET field1 = seq('s1'); 
0

Vous avez simplement besoin de décomposer ceci en trois instructions au lieu de deux.

SET @id := 0; 
UPDATE table1 
SET field1 = @id + 1; 
SET @id := @id + 1; 
0

S'il vous plaît essayer cette

declare @Count int 
set @Count =0 
update table1 set @Count [email protected] +1 
Questions connexes