• ベストアンサー
  • 困ってます

MySQLのauto incrementについて

宜しくお願い致します。 MySQLでカラムにauto incrementの属性を付けたいのですが、primary_keyに指定せずにauto increment属性をつける方法はないのでしょうか?

共感・応援の気持ちを伝えよう!

  • MySQL
  • 回答数1
  • 閲覧数283
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1

auto incrementの属性を付与するには、 主キー制約またはインデックスを設定すれば可能なはずです。 インデックスを設定してみてください。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます!! 早速やってみました。 ばっちり出来ました!! 本当に助かります。有難うございました-(^○^)

関連するQ&A

  • mysqlで部分的にオートインクリメントしたい

    mysqlを使用しております。 下記のようなテーブルを作りたいと思っているのですが、 親通し番号が同じ行についてのみ1からオートインクリメントすることは出来るのでしょうか? どなたかアドバイス頂ければと思います。 -------------------------------------------------------------------------------------- column1:親番号 column2:子通し番号   ・   ・   ・ column1:1 column2:1 ←カラム1が同じ値のとき、カラム2はinsertされた順に増えていく column1:1 column2:2 column1:1 column2:3 column1:2 column2:1 ←カラム1が増えたとき、カラム2は1に戻りインクリメントされていく。 column1:2 column2:2 column1:2 column2:3

    • ベストアンサー
    • MySQL
  • SQLite(3.2.2)でauto_increment

    今、SQLiteを利用してつまづいています。 バージョンは3.2.2です。(Linux) MySQL、PostgreSQLの知識はあります。 プライマリーキー(id)にシリアルを作成しようと思い、http://cl.pocari.org/2006-02-12-1.html を参考にしながらテーブルを作りました。 CREATE TABLE bbs ( id INTEGER UNSIGNED NOT NULL PRIMARY KEY, name VARCHAR(255) NOT NULL, message TEXT NOT NULL, last_update TIMESTAMP NOT NULL ); このbbsテーブルに対し、 INSERT INTO bbs (name,message,last_update) VALUES ('name','message','2008-04-03 12:11:00'); というクエリを発行すると 「SQL error: bbs.id may not be NULL」 とういエラーが返ってきます。 確かに、bbsテーブルのidカラムは「NOT NULL」制約があるのでエラーが正しいとは思うのですが、参考URLのauto_incrementの作成方法には、auto_incrementにしたいカラムをPRIMARY KEYでやればできる、のような事が書いてあったので、よく分かりません。 バージョンの問題なのか、クエリに誤りがあるのか分かる方おられましたら解答お願いします。 また、auto_incrementなカラムの作成方法も一緒に教えていただけたら幸いです。 宜しくお願いします。

  • auto_incrementを設定し直す。

    Primary Keyとして、auto_incrementを利用しているのですが、レコードを削除したりすると数が飛びます。 これを設定し直す事はできないのでしょうか? できないのなら、SQL文でupdataし直す。 auto_incrementをやめて、重複しない数を入れる。 ・・・しかないんかな??

  • 後から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型

    phpPgAdmin上から、テーブル定義を行っています。 テーブルの中へ、auto_increment型の項目を追加したいと 考えております。 MySQLには、auto_increment型が存在しますが、PostgreSQLの場合 には、同じような型があるのでしょうか?もし、ない場合には、 一般的にどのような対応をしているのでしょうか?(例えば、 Insertする際にPGの中でincrementしているのでしょうか?) (1)auto_increment型の追加方法 (2)auto_increment型がない場合の、対処方法 以上の点に関して、お分かりになる方がいらっしゃいましたら、 ご教示をお願いいたします。

  • phpMyAdminでPRIMARY KEY AUTO_INCREMENT

    phpMyAdminの操作画面上でPRIMARY KEY AUTO_INCREMENTを設定する方法を教えてください。 SQLを使えばできるのですが、phpMyAdmin上ではAUTO_INCREMENTという項目が見当たりません。 かんたんな内容ですが、よろしくお願いします。

    • ベストアンサー
    • MySQL
  • 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
  • ODBC経由でMySQL5.0に auto_increment属性などを付加したテーブルを作成したい

    ODBC経由でMySQL5.0に auto_increment属性など付加した以下のテーブルを作成したいのですがODBCのSQL文はどう書けばよいのでしょうか? DROP TABLE IF EXISTS test; CREATE TABLE IF NOT EXISTS test ( a1 int(11) NOT NULL auto_increment, b1 enum('public','group','private') NOT NULL default 'public', c1 date NOT NULL default '0000-00-00', d1 mediumtext NOT NULL, PRIMARY KEY (`a1`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; よろしくお願いします。

  • オートインクリメントについて

    カラムはidとnameです AUTO_INCREMENTをidにつけました googleで検索したら、「AUTO_INCREMENTをつけた場合はindexをつけなくてはいけない」 と書いてあったのですが、なぜindexをつけないといけないのでしょうか?indexなしだとよくないですか? 今あるidのカラムにsqlでindexを付けることはできますか? よろしくお願いします

    • ベストアンサー
    • MySQL
  • AUTO_INCREMENTに0はダメ?

    「INT」でかつ「AUTO_INCREMENT」のカラムに0をINSERTしようとするとうまくいかないのですが、 「AUTO_INCREMENT」では0はダメなのでしょうか? それとも「INT」だから?

    • ベストアンサー
    • MySQL