2016-10-03 66 views
0

如何更改mysql表中的記錄位置?我創建了一個包含大約200條記錄的表格。我怎樣才能將記錄號碼19更改爲8?如何更改mysql表中的記錄位置?

+0

什麼是你的記錄編號的含義是什麼?主鍵ID? –

+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