重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

Primary Keyとして、auto_incrementを利用しているのですが、レコードを削除したりすると数が飛びます。
これを設定し直す事はできないのでしょうか?

できないのなら、SQL文でupdataし直す。
auto_incrementをやめて、重複しない数を入れる。
・・・しかないんかな??

A 回答 (3件)

auto_incrementは、重複しないIDを作りたいときで、IDが何でもいいときに使用します。



単に順番が分かりたいのでしたら、
select * from bbs order by id
とかすれば順番に並びますから、
そこでPHP側から○番目とすればいいかと思います。
    • good
    • 0
この回答へのお礼

理屈は分かるんですが、有効に使われる場面が思いつきません。
いや、いろいろ考えたんですが、他の方法の方が便利な気もします。
サンプルを導入するのが面倒で、スクリプトやデータの内容を見ていないのが災いしています。

確かに、ソートするだけの用途なら便利は、便利ですが。
PHPで重複する値を決めるよりは、早く、処理も簡単って事なんかなー。

まぁ、分からなければ、使わなければいいという話しですが。

お礼日時:2005/07/18 12:36

あ、すいません。


これは空(レコードなし)の状態のときに最初の番号を指定するのにしか使えませんね。
(すでにレコードがあるときには使えない)
    • good
    • 0
この回答へのお礼

とりあえず、PHPで構文を作りupdateで整えましたが、auto_incrementをレコードの数、100番目なら100(99か?)としたかったのですが、レコードを削除すると数が飛んでしまうとなると、auto_incrementをやめて最終レコード+1する仕組みを作らないと。

っていうか、auto_incrementってどういう時に使うのが正統的ですか?
MySQLを使える人は、オリジナルな値を作るのもそう難しくはないし。

お礼日時:2005/07/17 09:30

ALTER TABLE テーブル名 AUTO_INCREMENT = 任意の数値

    • good
    • 0
この回答へのお礼

ALTER TABLE table_name AUTO_INCREMENT = 0
SQLを実行中です...
SQL応答時間 : 0.109000秒

と何か処理はされているのですが、特に変わってませんよ?
試しに、数値を0から100にしてみたけど、同じ。

お礼日時:2005/07/16 20:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す