Здравствуйте.
У меня есть таблица sql из двух столбцов вида :
1 - z
2 - a
3 - b
4 - c
5 - d
6 - e
7 - f
...
(и так более 50 тысяч элементов)
я хочу привести ее к виду:
1 - a
2 - b
3 - c
4 - d
5 - e
6 - f
7 - g
...
т.е. во втором столбце все значения поднять на одну позицию выше (не трогая первый столбец)
Каким запросом я могу это сделать, в том же пхпмайадмин?
Игорь_Vasinsky
3.07.2017 - 16:28
ALTER TABLE your_table` AUTO_INCREMENT=0;
insert into `your_table` (`second_field`)
select `seconf_field`from `your_table` order by `second_field`;
хз, так вроде, если 1й столбец PK
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Цитата (Игорь_Vasinsky @ 3.07.2017 - 12:28) |
так вроде, если 1й столбец PK |
Игорь, спасибо, что ответили, но в первом столбце у меня не числа по порядку на самом деле, а строки
вот хотел ведь мимо пройти, но... если не я то кто?
При каких обстоятельствах у вас возникла подобная задача?
Зачем что-то передвигать в БД?
_____________
Стимулятор ~yoomoney - 41001303250491
Когда-то я для своего исследования делал базу, потом постепенно добавлял в нее значения (там напряжение измерялось в определенные моменты времени), делал это полуавтоматически. Сейчас, когда вернулся к научной деятельности, с ужасом заметил что вся база делалась со смещением...А мне по ней график строить и т.д.
AllesKlar
3.07.2017 - 18:56
50 тысяч?
Выгрузи в scv, открой excel-ем и смести на сколько нужно

Потом назад в таблицу залей.
Комп даже не поперхнется.
_____________
[продано копирайтерам]
Цитата (AllesKlar @ 3.07.2017 - 14:56) |
50 тысяч? Выгрузи в scv, открой excel-ем и смести на сколько нужно  Потом назад в таблицу залей. Комп даже не поперхнется. |
уважаемый, вы точно наркоман, но черт возьми, оно сработало! Спасибо!
AllesKlar
3.07.2017 - 20:48
Цитата (mav1 @ 3.07.2017 - 18:21) |
уважаемый, вы точно наркоман, но черт возьми, оно сработало! Спасибо! |
Просто, если ты умеешь ездить на танке, то это не значит, что на нем нужно ездить в булошную.
Для булошной вполне подойдет велосипед
_____________
[продано копирайтерам]
Я бы сделал следующим образом - добавил поле (PK) AI и сделал бы upshift, примерно таким запросом:
UPDATE mytable t1
LEFT JOIN mytable t2 ON t1.id=t2.id - 1
SET t1.col2 = t2.col2;