mysql:14952
From: Mikiya Okuno <Mikiya Okuno <Mikiya.Okuno@xxxxxxxxxx>>
Date: Mon, 06 Jul 2009 16:12:32 +0900
Subject: [mysql 14952] Re: auto_increment属性について
岡田様 再現しました。バグのようです。最小のテストケースは以下のものです。 shell> cat data.txt \N \N mysql> create table inctest (inc_col bigint not null primary key auto_increment) engine innodb; Query OK, 0 rows affected (0.07 sec) mysql> load data infile 'data.txt' into table okatest; Query OK, 2 rows affected (0.00 sec) Records: 2 Deleted: 0 Skipped: 0 Warnings: 0 mysql> show create table inctest\G *************************** 1. row *************************** Table: inctest Create Table: CREATE TABLE `inctest` ( `inc_col` bigint(20) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`inc_col`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 1 row in set (0.00 sec) 2行挿入しただけなのにAUTO_INCREMENT=4になっています。 MyISAMでも試して見ましたが、MyISAMではAUTO_INCREMENTの値は正常なようです。 というわけでバグ登録しておきました。 http://bugs.mysql.com/45960 ちなみに、LOAD DATAの文法では、NULL値は「\N」と表記しなければいけませんので ご注意ください。この点も疑いましたが違ったようです。 よろしくお願いします。 -- Mikiya Okuno, MySQL Support Engineer Sun Microsystems KK, Tokyo, Japan http://www-jp.mysql.com/ On 06/07/2009, at 3:20 PM, Takayuki Okada wrote: > サン)奥野様 > > 下記のDDL文でテーブルを作成しました。 > > --- > CREATE TABLE okatest ( > incremental_col BIGINT AUTO_INCREMENT NOT NULL > ,system_id CHAR(4) BINARY NOT NULL > ,terminal_id CHAR(12) BINARY NOT NULL > ,file_id varchar(4) BINARY NOT NULL > ,download_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP > ,PRIMARY KEY ( > incremental_col > ) > ) > AUTO_INCREMENT = 0 > ,ENGINE = InnoDB; > > --- > ■csvのフォーマット(サンプル) > NULL,"0012","0180390 ","001","2009-03-07 10:06:36" > NULL,"0012","0180390 ","002","2009-03-07 10:12:38" > NULL,"0030","0014 ","0100","2009-03-07 10:25:01" > : > --- > ■loadのコマンド > load data infile "okatest.csv" into table okatest fields terminated by ',' enclosed by '"' escaped by ''; > --- > ■バージョン(いまさらですが) > OS:Solaris10 > MySQL:MySQL Community Server (GPL) 5.1.34 > > 以上です。よろしくお願いいたします。 > > -------------------- > Mon, 06 Jul 2009 14:27:10 +0900 >> 岡田様 >> >> 返事が遅くなりすみません。 >> >> 手元のマシンで試して見ましたが、特にAUTO_INCREMENTの値が >> LOAD DATAによっておかしくなることはありませんでした。 >> 追加でテストしてみますのでテーブル定義を見せて頂けませんか? >> >> よろしくお願いします。 >> -- >> Mikiya Okuno, MySQL Support Engineer >> Sun Microsystems KK, Tokyo, Japan >> http://www-jp.mysql.com/ >> >> On 02/07/2009, at 8:56 AM, Takayuki Okada wrote: >> >>> サン)奥野様 >>> >>> ご返信ありがとうございます。 >>> >>> load結果は、 >>> Records: 14087 Deleted: 0 Skipped: 0 Warnings: 0 >>> と表示されますので、また、CSVファイルの行数もこれに等しく、 >>> ロールバックはされていないものと思ってます。 >>> >>> load後に一度、MySQLを再起動すれば、問題なく、 >>> 連番となってくれることは確認済みですので(*)、 >>> 移行手順にしちゃいえばいいんですけど、気になります。 >>> >>> (*)loadで挿入後は、insertのみの運用を想定しています >>> >>> 以上です。よろしくお願いいたします。 >>> >>> -------------------- >>> Wed, 01 Jul 2009 18:47:28 +0900 >>>> 岡田様 >>>> >>>> 他に考えられる可能性としては、ロールバックによるものです。 >>>> AUTO_INCREMENTカウンタはロールバックが発生しても元には戻りません。 >>>> 例えば次のような処理をすると、AUTO_INCREMENTカウンタの値は増えてしまいます。 >>>> >>>> mysql> BEGIN; >>>> mysql> INSERT INTO tbl (cols) VALUES(vals); >>>> : >>>> mysql> ROLLBACK; >>>> >>>> >>>> LOADの処理中にトランザクションがロールバックしたということはございませんでしょうか? >>>> >>>> -- >>>> Mikiya Okuno, MySQL Support Engineer >>>> Sun Microsystems KK, Tokyo, Japan >>>> http://www-jp.mysql.com/ >>>> >>>> On 01/07/2009, at 6:05 PM, Takayuki Okada wrote: >>>> >>>>> サン)奥野様 >>>>> >>>>> ご回答ありがとうございます。 >>>>> >>>>> 手順ですが、1.の直前で、drop table⇒create table >>>>> しております。 >>>>> >>>>> 再度、前後で、show table status を実行したところ、 >>>>> >>>>> load直前の Auto_increment の値は、1で、 >>>>> load直後は、16384 となっておりました。 >>>>> >>>>> 以上です。よろしくお願いいたします。 >>>>> >>>>> >>> > >
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]