- ベストアンサー
MySQLでのレコード移動(オートインクリメント)
- MySQL 5.1 (win)でオートインクリメントをリセット後、レコードを移動する方法について教えてください。
- 具体的には、既存のレコード一覧からレコード2を削除し、その後idのAUTO_INCREMENTを1にリセットし、新しいレコードを追加した後にレコード1とレコード3の間にレコード2を移動させたいと思っています。
- 移動させた結果、以下のようになることを期待しています: id name comment 1 tanaka こんにちは 2 sato こんにちは 3 suzuki こんにちは 4 nakamura こんにちは 5 kimura こんにちは
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- taka451213
- ベストアンサー率47% (436/922)
関連するQ&A
- AUTO_INCREMENTについて教えてください
■質問1 PHPを使ってMySQLに接続しているのですが、 「AUTO_INCREMENT」指定しているIDの次の値を取得したいのですが、 どうすれば良いでしょうか? 用途としては、レコードを挿入する際、画像ファイルにレコードID名を付与したパスをつけたいのです。 <やりたいこと> 1.AUTO_INCREMENT指定しているIDの次の値を取得 2.画像ファイル名に付与 3.レコード挿入 この1を、どうやるか知りたいです ■質問2 「AUTO_INCREMENT」指定はどこに保存されているのでしょうか? 例えばレコードを削除した後、新たにデータ挿入する場合、 次の「AUTO_INCREMENT」値ではなく、削除した一番若い番号を利用することは可能でしょうか? ■質問3 質問2に関連しているのですが、DUMPデータを移行した際など、次の「AUTO_INCREMENT」値も新しいDBへ引き継がれるのでしょうか?
- ベストアンサー
- MySQL
- AUTO_INCREMENT
教えて頂けますか? AUTO_INCREMENT を設定して、 レコードを削除した場合、番号が抜けると思いますが 新しいレコードを追加した場合、空いている番号に挿入されますか? よろしくお願いします
- 締切済み
- MySQL
- オートインクリメントについて
カラムはidとnameです AUTO_INCREMENTをidにつけました googleで検索したら、「AUTO_INCREMENTをつけた場合はindexをつけなくてはいけない」 と書いてあったのですが、なぜindexをつけないといけないのでしょうか?indexなしだとよくないですか? 今あるidのカラムにsqlでindexを付けることはできますか? よろしくお願いします
- ベストアンサー
- MySQL
- Auto_incrementについて
Auto_incrementを設定して値をinsertしていくと1、2、3とインクリメントされると思います。 ここで、2のレコードを削除して、その後、値をinsertすると4のレコードに値が入力されると思います。 これを4ではなく2のレコードへinsertするにはコードで指定するしかないのでしょうか。 ご存知の方、宜しくお願いします。
- ベストアンサー
- MySQL
- MYSQLのレコードを上書きしたいのですが…
phpからMYSQL5に接続して以下のようなデータベースを作りました。 no name comment ←カラム名 1 山田 起きる 2 山田 叫ぶ 3 山田 寝る これを上書きして、 no name comment 1 山田 食べる 2 山田 遊ぶ 3 山田 寝る というようにレコードを更新したいのです。 しかし、どうやっても1、2、3の後に4、5、6と続いてしまいます。 「no」カラムにはauto_increment+primary keyを設定しています。 phpで構文を送る前に mysql_query("alter table db1 auto_increment=0"); を設定してみたり、 mysql_query("insert into db1 (name,comment) value ('山田','$comment')"); や mysql_query("replace into db1 (name,comment) value ('山田','$comment')"); を試してみましたが、上手く行きませんでした。 現在は、 mysql_query("delete from db1"); mysql_query("alter table db1 auto_increment=0"); ---php処理--- mysql_query("insert into db1 (name,comment) value ('山田','$comment')"); というように、二度目の書き込みを行う前に一旦テーブル内のレコードを すべて削除して書きなおすという方法を取っています。 しかし、数が多くなると一旦削除する作業を行うと処理が遅くなってしまうと思いますので、上書きしてデータベースを更新したいと思っているのですが、どのようにすればよいでしょうか?
- ベストアンサー
- MySQL
- auto_incrementを設定し直す。
Primary Keyとして、auto_incrementを利用しているのですが、レコードを削除したりすると数が飛びます。 これを設定し直す事はできないのでしょうか? できないのなら、SQL文でupdataし直す。 auto_incrementをやめて、重複しない数を入れる。 ・・・しかないんかな??
- 締切済み
- MySQL
- 後からAUTO_INCREMENTの値を1にする方法
MySQL=4.0.26 phpMyAdmin 2.6.4-pl4を使用しています。 AUTO_INCREMENT(int11)が自動追加されて、数値が70になったとして レコードを削除しても数値が1になりません。 プライマリーキーの関係かなと思いますが、 後からphpMyAdmin上でAUTO_INCREMENTの値を1にする方法、また、自由に数値を変更する方法を教えて頂けないでしょうか。 初期の段階でDBを構築する場合でSQLを実行する場合の AUTO_INCREMENTは解るのですが、 たとえば PRIMARY KEYを(`no`)として TYPE=MyISAM AUTO_INCREMENT=1; として、正常に利用していますが、 DB構築後、レコードが登録された後、phpMyAdmin上で レコードを削除した後またAUTO_INCREMENT=1などにする方法が 解りません。 説明べたで申し訳御座いませんが、 どうぞ宜しくお願い致します。
- ベストアンサー
- MySQL
- auto_incrementを使ってIDを生成するには
auto_incrementを使用してIDを作成したいのですがいまいちよく分かりません。 行いたいことは たとえばテーブルにid name textというカラムがあります。idカラムにauto_incrementを使用してIDである数字を生成したいのですが、nameカラムにある値ごとにIDを作成したいと思っています。 分かりにくいと思いましが以下のような感じです。 +----+-------+ | id | name | +----+-------+ | 1 | goo | | 1 | yahoo | | 2 | goo | | 1 | google| | 2 | yahoo | | 3 | goo | | 2 | google| +----+-------+ のようにnameの値ごとに生成したいと思っています。 このようなカラムを作成するSQLをお願いいたします。
- ベストアンサー
- MySQL
- オートインクリメントの数字について
私はアクセスを使ってデータを管理しているものです。 管理番号をオートインクリメントしてるのですが、そこで問題が発生しています。 オートインクリメントでどんどん数字が増える状態になり、データが必要なくなってしまったのでそのデータを削除しました。 次に同じテーブルに新しいデータが入ってきたので、削除した後にフィールドを追加するとオートインクリメントする管理番号が数字の1からスタートするのではなく、昔、削除したフィールド数からカウントしてしまいます。 どうかアドバイス頂けないでしょうか? お願いします。
- 締切済み
- その他(データベース)
- SASの時間比較
以下のようなデータがあった場合 時間の間隔を出す場合どのようにすればいいのでしょうか? 日数ではDATDIFを使えばいいのですが 時間の場合はどうすればいいのでしょうか? name,time sato,2005/06/10 21:00:05 sato,2005/06/10 21:30:05 sato,2005/06/10 21:40:05 suzuki,2005/06/10 20:00:00 suzuki,2005/06/10 20:10:00 suzuki,2005/06/10 20:30:00 tanaka,2005/06/10 21:00:05 tanaka,2005/06/10 21:13:05 tanaka,2005/06/10 21:10:05 tanaka,2005/06/10 21:30:05 tanaka,2005/06/10 21:31:05
- ベストアンサー
- その他(プログラミング・開発)
- PC-FAX送信する際にプリンタ状態が印刷エラーになる問題が発生しています。
- 問題はブラザー製品に限定されており、他の製品では発生していません。
- PC-FAX送信をする際には、プリンタ状態を確認し、印刷エラーがないことを確認してください。
お礼
>order byで明示的に なるほどです。データベース上の格納順は関係ないってことですね