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
他のテーブルはありません。 1つだけ。 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]ボックス([自動インクリメント]設定)のチェックを外し、[保存]をクリックしてからもう一度チェックし、もう一度[保存]をクリックしてこれを行いました。