Вставьте порядковый номер в MySQL - PullRequest
22 голосов
/ 14 января 2012

Я добавил пустой столбец в таблицу, и теперь я хочу вставить последовательные числа в ее строки. Можно ли сделать это с помощью SQL?

Ответы [ 3 ]

54 голосов
/ 14 января 2012

Запустите следующие запросы для увеличения значения в столбце yourField:

SELECT @i:=0;
UPDATE yourTable SET yourField = @i:=@i+1;
0 голосов
/ 14 января 2012

Как я уже говорил в комментариях, вы можете обновить каждую строку, указав ее номер строки,

Вот ссылка на способ вычисления rownum: mysql.

Перефразируя:

update player,
       (select @rownum:=@rownum+1 ‘rank’, p.* 
        from player p,
        (SELECT @rownum:=0) r 
        order by score desc) player1
 set thatColumn= rank
 where player.id = player1.id
0 голосов
/ 14 января 2012

попробуйте это с автоинкрементом , если вы хотите, чтобы в вашей таблице для каждого вставленного вами номера было добавочное число

create table WithAutoInc(somID int AUTO_INCREMENT,somName_ char(100) ,primary key(somID ));

, чтобы теперь вставить, вы можете сделать это

 insert into WithAutoInc (somName_) values ('presley');

результат

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...