http://www.hatena.ne.jp/1108999974
人力検索はてな - mysqlでAuto_incrementの値をPrimaryKeyの最大値に振りなおす方法。 手でPrimaryKeyを入力した行を入れてから消してしまっっため、PrimaryKeyに空きができてしまいました。..
過去に類似の質問がありました。
http://www.softagency.co.jp/mysql/Manual/4.1.1/html-split/manual...
MySQL バージョン 4.1.1-alpha リファレンスマニュアル: Clients
auto_incrementを1から振りなおす †
ただ単にテーブル内のデータをdelete文を使って消しても、auto_incrementを使っているところは数字が1からは始まらない。
以下のコマンドを発行して、番号をリセットする。
$ myisamchk -A /var/lib/mysql/database/table.MYI
コメントには知りたい事が書いてあるように思えるのですが、$ myisamchk -A /var/lib/mysql/database/table.MYIはtelnetで実行するものでしょうか?実行するとエラーが出てしまいます。ご提示頂いているリンク先でも、「ココ」という該当箇所は見つける事ができませんでした。
ERROR 1064: You have an error in your SQL syntax. Check the manual that corresp
onds to your MySQL server version for the right syntax to use near ’myisamchk -A
/var/lib/mysql/database/table.MYI’ at line 1
http://www.atmarkit.co.jp/flinux/rensai/mysql11/mysql11a.html
MySQLの高度な管理とチューニングテクニック(1/2)
URLはmyisamchkの説明頁なのであまり関係ありません。
外してる可能性が高いのでポイントも不要です。
/var/lib/mysql/database/table.MYI の 「table」のところは実際に作られているauto_incrementをリセットしたいテーブルの名前です。
それでもだめな場合、MySQLのインストール先(/var/lib/mysql/database/の部分)が違うのかもしれません。その場合はMySQLを設置した方に問い合わせることになると思います。
やはり同じエラーが出るようです。そのコマンドはtelnet経由でmysqlにログインしてから実行するのでしょうか?
http://www.phpmyadmin.net/home_page/
phpMyAdmin | MySQL Database Administration Tool | www.phpmyadmin.net
もしそのサーバー上でPHPが動いているのでしたら、phpmyadminをインストールすると操作しやすいですよ。
ちなみに、auto_incrementを1に戻す場合は、
ALTER TABLE `テーブル名` PACK_KEYS =0 CHECKSUM =0 DELAY_KEY_WRITE =0 AUTO_INCREMENT =1 を発行しているみたいです。phpmyadminにて確認。操作タグ内で、実行するとSQL文を表示してくれます。もちろん、テーブル内には何もレコードがない状態でやらないとエラーにはならなくても、反映されませんので、気をつけて。
どうも有難うございました!バッチリです!
それでは分からなかったので質問したのですが、もう一度良く読んでみました。要するに記載されている1から3の操作をするという事だと思いますが(MyISAMやInnoDBの事は知らなかったのですが、デフォルトではMyISAMなのだとして)、レンタルサーバでサーバの再起動というのはできるものなのでしょうか?宜しければどなたか教えて下さい。もし何か勘違いしていたらそれもどなたかご回答願います。