2009年6月22日

[mysql 14936] Re: auto_increment属性について


chuukenです。

InnoDBでは、auto_increment列を単一のキーとするユニークインデクスの
定義が必要です。

http://dev.mysql.com/doc/refman/5.1/ja/innodb-restrictions.html

MyISAMなどであれば、auto_increment列を、ユニークインデクスの2番目の
列として定義できます。なお、この場合、ユニークインデクスの先頭列の値毎に
1〜の値でインクリメントされます。

http://dev.mysql.com/doc/refman/4.1/ja/example-auto-increment.html


----------------------------------------
> Date: Mon, 22 Jun 2009 11:19:54 +0900
> From: okada.takayuki@xxxxx
> Subject: [mysql 14933] auto_increment属性について
> To: ml@xxxxx
>
> こんにちは。
> 岡田と申します。
>
> 複数カラムのPKをもち、かつ、
> PKのうちひとつのカラムに自動採番(auto_increment)
> させるテーブルを作成したいのですが、
> (1)だとエラーになり、(2)だと正常に作成されます。
>
> 並びとしては、(1)にしたいのですが、仕様上できないのでしょうか?
>
>
> (1)
> mysql> CREATE TABLE okatest (
> -> col_b CHAR(4) NOT NULL
> -> ,col_a BIGINT AUTO_INCREMENT NOT NULL
> -> ,PRIMARY KEY (
> -> col_b,col_a
> -> )
> -> ) ENGINE = InnoDB;
> ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
>
> (2)
> mysql> CREATE TABLE okatest (
> -> col_a BIGINT AUTO_INCREMENT NOT NULL
> -> ,col_b CHAR(4) NOT NULL
> -> ,PRIMARY KEY (
> -> col_a,col_b
> -> )
> -> ) ENGINE = InnoDB;
> Query OK, 0 rows affected (0.27 sec)
>
>

_________________________________________________________________
便利!ケータイへのHotmailアラートはこちら
http://clk.atdmt.com/GBL/go/153791840/direct/01/


投稿者 xml-rpc : 2009年6月22日 17:04
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/86085
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。