2016-04-25 10 views
1

ID:1,2,3,4,5の5つの行があります。 「idでmysqlの逆クエリを実行する方法は?

重複エントリー '2' キーのために:その後、私は取得2,3,4,5,6

Update table set `id` = `id` + 1 

は、その後、私はにそれらのIDを変更しようとするクエリを作りましたPRIMARY '

私は、このクエリがID 1で最初に実行され、その原因がPRIMARY 2が存在することを理解しています。

だから私の質問は、クエリが列NUMに主キーを定義して、1から100までの数字で、テーブルnum_sampleを作成した5から1

+2

あなたは 'てみたID DESC' BY ORDER、それは –

+0

@Tinトランを動作するかどうかを確認する必要があり、それが動作します。 – MontyPython

+0

多くのありがとう。それはとてもシンプルですが、私は考えることができません –

答えて

2

にIDによって実行されたようにする方法です。この更新を書きました

update num_sample set num = num + 1 order by num desc limit 100; 

MySQLでは絶対に問題ありません。 ORDER BYLIMITなし

0

別のアプローチ:

SET @MAX_ID = SELECT MAX(ID) FROM YOUR_TABLE; 

UPDATE YOUR_TABLE 
SET ID = ID + @MAX_ID 

UPDATE YOUR_TABLE 
SET ID = ID - @MAX_ID - 1 
関連する問題