MySQL に主キー列を持つテーブルがあります。
まあ言ってみれば:
ID | Value
1 | One
2 | Two
6 | Three
8 | Four
9 | Five
どうすればそれを取得できますか:
ID | Value
1 | One
2 | Two
3 | Three
4 | Four
5 | Five
他のテーブルはありません。ただ一つ。IDを適切なシリーズにしたいだけです。
なにか提案を??おそらくクエリ.. :)
MySQL に主キー列を持つテーブルがあります。
まあ言ってみれば:
ID | Value
1 | One
2 | Two
6 | Three
8 | Four
9 | Five
どうすればそれを取得できますか:
ID | Value
1 | One
2 | Two
3 | Three
4 | Four
5 | Five
他のテーブルはありません。ただ一つ。IDを適切なシリーズにしたいだけです。
なにか提案を??おそらくクエリ.. :)
このクエリを書くことで結果を達成する簡単な方法さえあります
SET @newid=0;
UPDATE tablename SET primary_key_id=(@newid:=@newid+1) ORDER BY primary_key_id;
このクエリは、主キーのインデックスを再作成します。1
私には、あなたには2つの選択肢があるようです。
1) 新しいテーブルを作成し、既存のデータをコピーします。
2) 別の自動インクリメント フィールドを既存のテーブルに追加してから、元の列を削除します。
ALTER TABLE tableName ADD NewIdn INT NOT NULL AUTO_INCREMENT KEY
phpmyadmin で A_I ボックス (自動インクリメント設定) のチェックを外し、[保存] をクリックしてからもう一度チェックを入れ、もう一度 [保存] をクリックしてこれを行いました。