![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
こんにちは
MYSQLの勉強始めたばかりなのですけど、よろしくお願いします。
このように連番を作ったのですが、
alter table xxx add renban int;
alter table xxx add index index1(renban);
alter table xxx modify renban int auto_increment;
順調にできたのですが、#9と#10の二つのフィールドを消去したところで、次の番号が9からではなく、
11からになってしまったのです。
そこで、index1の消去して、新しい連番を作るのに、どうすればいいのか、教えてください。
それとも、次の番号が11ではなく、9になるように、どうすればいいのか、お願いできますか?
お願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
回答が重複するかもしれませんが、少なくともinnodbなら
alter table <tablename> auto_increment=<value>;
で可能です。
No.2
- 回答日時:
お使いのテーブルがMyISAMタイプだという前提で書きます。
(I assume that your table is 'MyISAM' type.)auto_increment値をリセットしたいということでしたら、テーブルのタイプをInnoDBに変更してMySQLを再起動してみてください。その後またテーブルタイプを'MyISAM'に戻します。(If you want to reset the current value of auto_increment, change table type to 'InnoDB' and reboot MySQL.Then change back to 'MyISAM'.)
alter table xxx type=innodb
[reboot mysql]
alter table xxx tayp=myisam
ほかには、コマンドから(Another way is to type command like this...)
myisamchk -A xxx or
myisamchk --set-auto-increment[=value] xxx
という手もあります。私が以前試した環境ではこれはうまくいきませんでしたが。(Although this way didn't work well in my case.)
インデックスの指定もされているようですが、auto_incrementの問題とは関係ないでしょう。(Your query specifies the index for a table. But I think indexing does not have nothing to do with resetting the current value of auto_increment.)
メーリングリスト等も参照してください。(Also refer to mailing lists etc.)
参考URL:http://dev.mysql.com/doc/refman/5.0/en/innodb-au …
No.1
- 回答日時:
常に連番というのは不可能ではないでしょうけど
やる意味がないので、いかがなものかと思います。
特にインクリメントってユニークなIDを発行している
だけで別に連番機能というわけでもないでしょう。
RDBですからそのIDをキーに他のテーブルとの
すり合せにつかったりするわけで、9番を消して、
あらたなわけのわからんデータが9番にきて
しまったら、整合性がなくなりますから。
また連番といってもソートは任意のフィールド
をつかうので、連番の意味がありません。
連番をつかってソートするくらいなら
更新日時をフィールドにうめむか更新順テーブル
をもってください。
ごめんなさい。意味がよくわかりません。
一点だけ直さないといけないのは、#9と#10のことは、フィールドのことではなく、レコードのことです。
連番は参考のためにつくったフィールドです。
あらためて質問するのならば、連番index1を作った後に、どうやってそのindex1を消去すればいいのか (もう一度新しい連番作るために)、教えてください。
日本人ではないので、回答の意味が全部理解できませんでした。ごめんなさい。ありがとうございました。お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- MySQL MySQLのテーブル作成で 自信がありません。 2 2022/08/28 05:35
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL MYSQL エラー 2 2022/10/18 11:37
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
一つ前に戻るには…
-
グループからランダムに抽出す...
-
1000万件のデータをmysqlで効率...
-
挿入先テーブルに存在しないレ...
-
mysqlでJOIN文
-
Accessでデータシートに同じデ...
-
SQLでSUMなどの関数でデータが...
-
update文で改行を入れる
-
SELECT 文の NULL列は?
-
ROWNUMでUPDATEをしたいのです...
-
他のデータベースとのテーブル結合
-
SQL*LoaderでCSVから指定した列...
-
sqlplusで表示が変なので、出力...
-
2台のサーバー間でのテーブル...
-
会社の飲み会の幹事になり、座...
-
SQL、2つのテーブルで条件一致...
-
SQL 複数テーブルのupdate
-
SQLで違うテーブルの値を比較し...
-
UPDATE文の更新順序について
-
L2SWはARPテーブルを持っている?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一つ前に戻るには…
-
ビューに追加・削除が出来ません。
-
最大値を持つレコードを削除したい
-
mysqlでJOIN文
-
SQL文による残業時間の算出につ...
-
mysqlのフィールド名
-
SQL一発でカレンダー表示は可能...
-
矛盾していないでしょうか?
-
1列について重複行を除いて全列...
-
副問い合わせの限界値はどれく...
-
mysqlで外部キーをつけたカラム...
-
MySQLのFOREIGN KEYについて
-
MySQLのテーブル設計について
-
PHP上のSQLで、SELECT文をいく...
-
SQLを教えてください
-
char型データ 固定長のままでs...
-
【ストアドプロシージャ】条件...
-
グループからランダムに抽出す...
-
売上管理
-
他のDBにあるテーブル内容をcre...
おすすめ情報