mysql:7409
From: "Kondo Tatsuya" <"Kondo Tatsuya" <konet@xxxxxxxxxx>>
Date: Mon, 7 Apr 2003 05:12:41 +0900
Subject: [mysql 07409] 数値型の許容範囲を越えそうな場合の処理方法
近藤と言います。
ちょっと長文になってしまいましたがよろしくお願いいたします。
CREATE TABLE date_tb
(date_id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 date_name CHAR(255) NOT NULL , PRIMARY KEY (date_id))
とした場合、date_idには、18446744073709551615まで格納出来ると思うのですが、
データがそれ以上に膨大になり、date_idに格納出来る許容範囲を越えてしまう恐れ
がある場合、みなさんならどのようにしておられるのでしょうか?
今回の私のケースでは、古いデータは状況によりほとんどいらなくなるので、
不要なデータはDELETEして、再利用しようと思ったのですが、
例えば、DELETE FROM date_tb WHERE date_id = 4  として、
date_id | date_name
------+----------
      1  |  test1
      2  |  test2
      3  |  test3
      5  |  test5
      6  |  test6
となった場合、再度 date_id に 4 を利用したいのですが、これは可能なのでしょうか?
で、実際にやってみました。
最適化すれば大丈夫なのかな?と思って、
DELETE FROM date_tb WHERE date_id = 4
OPTIMIZE TABLE date_tb
INSERT date_tb SET date_name = 'testtest'
結果ダメでした。
一度、AUTO_INCREMENTで生成してしまったら、それをDELETEし、
最適化しようが、普通にINSERTした場合、二度と同じデータを扱いません。
# 当たり前と言えば当たり前なのですが・・・。
# 明示的に date_id を指定すれば可能ですが、
# そんなの恐ろしくて出来ません。
もう1つ考えたのは、REPLACEを使った方法です。
日付フィールドと、データが必要か不要かを判別するフィールドを作成し、
データが不要、尚且つ日付の古いレコードのdate_idを取得し、
REPLACEで上書きする方法です。
しかし、効率が悪い気がします。
何かとてつもなく簡単な方法がありますでしょうか?
長文になってしまいましたが、ご了承下さい。
よろしくお願いいたします。
-> 7409 2003-04-07 05:12 ["Kondo Tatsuya" <kon] 数値型の許容範囲を越えそうな場合の処理方法 7410 2003-04-07 07:58 ┣[MORIGUCHI Hirokazu <] 7427 2003-04-09 01:11 ┃┣["Kondo Tatsuya" <kon] 7429 2003-04-09 10:02 ┃┃┗["JUNSIK LIM" <koniwe] UNION のようなもの? 7430 2003-04-09 10:52 ┃┃ ┗[Shinya Kawaji <kawaj] 7497 2003-04-16 13:51 ┃┃ ┗["janreno" <janreno@x] auto_increment でレコードの無しの場合常に 1 から始めたい。 7499 2003-04-16 15:20 ┃┃ ┗[GUSTAV <beatle@xxxxx] Re: auto_increment でレコードの無しの場合常に 1 7500 2003-04-16 15:35 ┃┃ ┗[Isao Tanaka <isao@xx] 7502 2003-04-16 17:00 ┃┃ ┣[<lavlav@xxxxxxxxxx> ] 7505 2003-04-16 18:40 ┃┃ ┗["janreno" <janreno@x] 7506 2003-04-16 18:57 ┃┃ ┣[Isao Tanaka <isao@xx] 7508 2003-04-16 19:05 ┃┃ ┣[GUSTAV <beatle@xxxxx] 7515 2003-04-17 01:16 ┃┃ ┣[とみたまさひろ <tomm] 7518 2003-04-17 01:44 ┃┃ ┃┗["Kondo Tatsuya" <kon] 7519 2003-04-17 10:15 ┃┃ ┗[takeyuki miyagawa <m] 7525 2003-04-17 16:20 ┃┃ ┗["janreno" <janreno@x] 7526 2003-04-17 16:57 ┃┃ ┗[とみたまさひろ <tomm] 7528 2003-04-17 17:35 ┃┃ ┗["janreno" <janreno@x] 7531 2003-04-17 18:20 ┃┃ ┗[とみたまさひろ <tomm] 7428 2003-04-09 01:26 ┃┗["Kondo Tatsuya" <kon] 7434 2003-04-10 01:16 ┃ ┗["Kondo Tatsuya" <kon] 7411 2003-04-07 12:32 ┗[Shinya Kawaji <kawaj]