MySQL UPDATE значения с последовательностью 1,2,3, - PullRequest
1 голос
/ 28 сентября 2010

У меня есть таблица с атрибутом позиции 'posit' с неизвестными значениями (в моем примере '0'), и я хочу обновить его до 1,2,3, ...

ДО:

 _______________
| title | posit |
|---------------|
|  test |   0   |
|-------|-------|
|  test |   0   |
|-------|-------|
|  test |   0   |
|-------|-------|
|  test |   0   |
'---------------'

ПОСЛЕ:

 _______________
| title | posit |
|---------------|
|  test |   1   |
|-------|-------|
|  test |   2   |
|-------|-------|
|  test |   3   |
|-------|-------|
|  test |   4   |
'---------------'

Примерно так

UPDATE myTable 
SET posit = last_updated_value() + 1 
WHERE title='test';

Есть ли способ сделать это командой SQL?Обратите внимание, что «posit» не является автоинкрементом.У меня есть только решение PHP.

Спасибо, Генри

1 Ответ

3 голосов
/ 28 сентября 2010

В качестве тега у вас есть mysql, поэтому вы можете использовать пользовательскую переменную.Примерно так:

SET @incr = 0;
SELECT @incr:=@incr+1 FROM DUAL;

Подробнее см. http://dev.mysql.com/doc/refman/5.0/en/user-variables.html.

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