2016-10-03 3 views
0

Как изменить позицию записи в таблице mysql? Я создаю таблицу, содержащую около 200 записей. Как изменить номер записи с 19 по 8?Как изменить позицию записи в таблице mysql?

+0

чем смысл вашего номера записи? Идентификатор первичного ключа? –

+0

Почему вы пытаетесь это сделать? Sql хранит данные неупорядоченными - нет причин изменять способ хранения данных в базе данных, точно так же, как вы показываете данные ... – sgeddes

ответ

1

Вы можете поменять местами данные в кортежах оператором обновления.

update table1 a 
inner join table1 b on a.id <> b.id 
    set a.col1= b.col1, 
     a.col2= b.col2, 
     a.col3= b.col3 
where a.id in (8,19) and b.id in (8,19) 

Результат: значения строк меняются местами.

+1

это итоговое творческое –

0

Одинаково вы не можете изменить его или обмен, но вы можете сделать это в запросе в качестве вида:

так:

select case when id = 19 then 8 else 
(case when id = 8 then 19 else id end) end as id from yourTable