mysql:14940
From: Takayuki Okada <Takayuki Okada <okada.takayuki@xxxxxxxxxx>>
Date: Wed, 01 Jul 2009 11:49:30 +0900
Subject: [mysql 14940] Re: auto_increment属性について
我彦様 皆様 ご返信が遅れました。申し訳ございません。 検証ありがとうございました>我彦様 その後、仕様上は、単一のユニークでないといけないとのことから、 構成を見直したうえ、いろいろと検証をやってみましたが、 下記の手順できれいな連番にならなくて困ってます。 1.csvファイル14087件をload 2.auto_incrementカラムのmax値は、14087 3.続いて、1件をinsert 4.auto_incrementカラムのmax値は、16384★ 5.続いて、1件をinsert 6.auto_incrementカラムのmax値は、16385 4.で、なぜ、こんなにも飛んでしまうのでしょうか? 以上です。よろしくお願いいたします。 -------------------- Mon, 22 Jun 2009 19:32:43 +0900 >こんにちは。我彦と申します。 >私はドキュメントに記載を見つけられませんでした。 >仕様かもしれません。バグかもしれません。 > >試す限り、以下の結果は得ました: > >-- failed >CREATE TABLE okatest ( > col_a BIGINT AUTO_INCREMENT NOT NULL >,col_b CHAR(4) NOT NULL >,PRIMARY KEY ( col_b,col_a ) >) ENGINE = InnoDB; >SHOW TABLES; >DROP TABLE okatest; > >-- failed >CREATE TABLE okatest ( > col_b CHAR(4) NOT NULL >,col_a BIGINT AUTO_INCREMENT NOT NULL >,PRIMARY KEY ( col_b,col_a ) >) ENGINE = InnoDB; >SHOW TABLES; >DROP TABLE okatest; > >-- success >CREATE TABLE okatest ( > col_b CHAR(4) NOT NULL >,col_a BIGINT AUTO_INCREMENT NOT NULL >,PRIMARY KEY ( col_a,col_b ) >) ENGINE = InnoDB; >SHOW TABLES; >DROP TABLE okatest; > >-- success >CREATE TABLE okatest ( > col_b CHAR(4) NOT NULL >,col_a BIGINT AUTO_INCREMENT NOT NULL UNIQUE >,PRIMARY KEY ( col_b,col_a ) >) ENGINE = InnoDB; >SHOW TABLES; >DROP TABLE okatest; > >-- success >CREATE TABLE okatest ( > col_b CHAR(4) NOT NULL >,col_a BIGINT NOT NULL >,PRIMARY KEY ( col_b,col_a ) >) ENGINE = InnoDB; >SHOW TABLES; >DROP TABLE okatest; > >-- success >CREATE TABLE okatest ( > col_a BIGINT AUTO_INCREMENT NOT NULL >,col_b CHAR(4) NOT NULL >,PRIMARY KEY ( col_a,col_b ) >) ENGINE = InnoDB; >SHOW TABLES; >DROP TABLE okatest; > >-- success >CREATE TABLE okatest ( > col_a BIGINT AUTO_INCREMENT NOT NULL UNIQUE >,col_b CHAR(4) NOT NULL >,PRIMARY KEY ( col_b,col_a ) >) ENGINE = InnoDB; >SHOW TABLES; >DROP TABLE okatest; > >feature request を送ってはいかがでしょう。 >以上、宜しくお願いします。 > >Takayuki Okada wrote: >> こんにちは。 >> 岡田と申します。 >> >> 複数カラムの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) >>
14933 2009-06-22 11:19 [Takayuki Okada <okad] auto_increment属性について 14934 2009-06-22 11:34 ┣[hiroshi morimoto <ma] 14935 2009-06-22 11:39 ┣[hiroshi morimoto <ma] 14936 2009-06-22 17:04 ┣[chuuken kenkou <ken_] 14937 2009-06-22 17:24 ┃┗[Takayuki Okada <okad] 14938 2009-06-22 19:32 ┗["wabiko.takuma" <wab] -> 14940 2009-07-01 11:49 ┗[Takayuki Okada <okad] 14941 2009-07-01 14:39 ┗[Mikiya Okuno <Mikiya] 14942 2009-07-01 18:05 ┗[Takayuki Okada <okad] 14943 2009-07-01 18:47 ┗[Mikiya Okuno <Mikiya] 14944 2009-07-02 08:56 ┗[Takayuki Okada <okad] 14950 2009-07-06 14:27 ┗[Mikiya Okuno <Mikiya] 14951 2009-07-06 15:20 ┗[Takayuki Okada <okad] 14952 2009-07-06 16:12 ┗[Mikiya Okuno <Mikiya] 14953 2009-07-06 16:26 ┗[Takayuki Okada <okad]