ハードディスクメンテナンス

投稿記事数[8660]以上!PC,旧ゲーム,カメラ,動画などを、アヤしゐ專門妖語を使ッて解説スル!

[MySQL] idを詰める(連番を振り直す)方法

      2015年01月12日


スポンサーリンク

数分毎に定期的にログを取得するようなプログラムを書き、DBに格納し始める。

だが、ログが膨大になったのでスリム化したい。

数分毎なので1日に多数のレコードがあるが、内容(atai)を調べると、その中の1つだけで事足りる場合。

<test_db_001>
id,date,time,atai
1,2015-01-01,00:10:00,10
2,2015-01-01,00:20:00,10
3,2015-01-01,00:30:00,10
4,2015-01-02,00:10:00,20
5,2015-01-02,00:20:00,20
6,2015-01-02,00:30:00,20

「その中の1つだけで事足りる」というのは、値は常に変化するが、その動きが小さいため、どれか1つのレコードを抜き出しても問題ないような種のデータである。

まずは年月日(date)でSELECTして抽出する。

SELECT * FROM `test_db_001` GROUP BY `date` ORDER BY `id` ASC ;

# 但しこの文でSELECTできるのは、dateが2015-01-01であればid(1,2,3)のどれであるかは不明なので、明確にするならそれに適したSELECT文を書くこと。

結果、id(1,4)が選択される。

<test_db_001>
id,date,time,atai
1,2015-01-01,00:10:00,10
4,2015-01-02,00:10:00,20

この状態でexportし、別名(test_db_002)でimportする(copyでも可)。

スポンサーリンク

しかし、これではidに隙間が生じており、使いにくい。

システムがidに依存しない場合、これを詰めてしまおう。

SET @i := 0 ;必須
UPDATE `test_db_002` SET id = (@i := @i +1) ;

これで、以下のようにidを詰める(連番の振り直し)ことができる。

<test_db_002>
id,date,time,atai
1,2015-01-01,00:10:00,10
2,2015-01-02,00:10:00,20

ここでAUTO_INCREMENTを変えることを忘れないように。

この場合では、最終のidが2なので、次のid(AUTO_INCREMENT)は3になる。

そして、test_db_002をtest_db_001にリネームして終了。

phpMyAdminが使える環境であれば、簡単な操作で実行可能だ。

exportもimportも画面上部から可能であり、上のSQL文(UPDATE…)も画面上部にある「SQL」で可能。

AUTO_INCREMENTとリネームは、画面上部の「操作」にある。

操作

元の(膨大な)ログが必要であれば、リネームするかexportするなどして保存しておくこと。

スポンサーリンク



sha-bc@336×280

sha-bc@336×280


sha-bc@336×280

sha-bc@336×280

  関連記事

B00NFB5JIE
LGの 24型 液晶モニター フルHD(1920×1080) TN 非光沢 144Hz 1ms 24GM77-B がタイムセールで27,980円!

スポンサーリンク LG 24GM77-B ディスプレイ モニター 24インチ/T …

B00LS30RVU
シリコンパワーの 超小型USBメモリー 64GB USB3.0 SP064GBUF3J06V1D がタイムセールで2,457円!

スポンサーリンク 超小型なので、トヴィ出しを避けたい場合に! 関連:[SP016 …

no image
155GB程度のコピーに「残り:約7時間30分」!遅杉wwwww

スポンサーリンク SATA接続の内蔵ハードディスクから、外付けハードディスク(U …

ディスクの再アクティブ化
ディスクの再アクティブ化(ディスクの追加,ソフトウェアRAID,ミラーリング,RAID1)

スポンサーリンク 「再同期中」が83%のムァムァ進まない、ワケの分からないミラー …

WordPress
Ktai Entryを使ってWordPressにメールで投稿すると、タイトルに半角スペースが入る問題

スポンサーリンク Ktai Entryを使い、メール送信でブログ(WordPre …

B00U9ZJKPW
LGの 23型 液晶モニター AH-IPS 非光沢 フルHD(1920×1080) 23MP47HQ-P がタイムセールで13,480円!

スポンサーリンク LG Electronics Japan 23型 AH-IPS …

no image
Could not acquire application lock! (Silicon Image SiI 3124 SoftRaid 5 Controller)

スポンサーリンク WindowsXP Professionalの環境で、Sili …

469円
WRC-F300NF(無線LANルーター)が469円に!Google Chromecast × Wi-Fiルーター まとめ買いで1,500円OFFセール [アマゾン]

スポンサーリンク エレコムの無線LANルーターであるWRC-F300NFとGoo …

B011LVAVEQ
WD(Western Digital)の 6TB ハードディスク 7200rpm Black WD6001FZWX がタイムセールで33,017円!

スポンサーリンク WD Black 3.5inch 6.0TB 128MB キャ …

B011OBZ5Y4
I-O DATAの 23.8型 ADS広視野角パネル フルHD 液晶モニター EX-LD2381DB がタイムセールで16,980円!

スポンサーリンク I-O DATA 23.8型ADS広視野角パネル 液晶(超解像 …