mysqlについて質問です。 テーブル名 seito カラム名 id(auto_increment),name がを用意しています。 今まで、
mysqlについて質問です。 テーブル名 seito カラム名 id(auto_increment),name がを用意しています。 今まで、 insert seito set name='●●' と登録すれば自動的にidが割り振られていたのですが、 あるときより、この割り振りがされなくなってしまいました。 原因が何かわかっていません。 insert seito set name='●●' とすると idが2147483647と最大値(?)に割り振られ、 次の挿入が出来なくなります。 とりあえずの措置として SELECT id FROM `seito` order by id desc limit 1 として、そのidに1プラスしたものを取得し insert seito set id='▲',name='●●' とすることにより何とか何とかなっていますが、 今までできたのにできなくなった理由が知りたいです。 auto_incrementはほかでも多く使っているので同様なことが起きないように注意したいので質問しています。 どうかよろしくお願いします。
まだidは2804までしか使っておらず、 2805を割り振ってほしいのに最大値にジャンプしてしまっています。
ベストアンサー
何らかの原因で採番情報が壊れてしまったんでしょうねぇ・・・ #その「原因」が気になるところですが(汗 とりあえず alter table seito auto_increment=2805; を実行して採番情報が戻れせれば、あとは再発に注意して(再発したら)どういう処理をしていたかを確認するくらいでしょうか。
質問者からのお礼コメント
おっしゃる通り、sqlを実行したら治りました!!! シンプルな対応でありがとうございました!!
お礼日時:5/30 22:03