[前][次][番号順一覧][スレッド一覧]

mysql:14953

From: Takayuki Okada <Takayuki Okada <okada.takayuki@xxxxxxxxxx>>
Date: Mon, 06 Jul 2009 16:26:51 +0900
Subject: [mysql 14953] Re: auto_increment属性について

サン)奥野様

再現確認、および、バグ登録ありがとうございました。

とりあえずは、先日のメールにも書きましたが、load後に一旦、
MySQLを再起動することで対処します。

また、
>ちなみに、LOAD DATAの文法では、NULL値は「\N」と表記しなければいけませんので
>ご注意ください。この点も疑いましたが違ったようです。
ですが、ちゃんとマニュアル見ないといけませんね。。。
商用環境の移行時には、\Nでloadするようにいたします。

ご対応、ありがとうございました。

以上です。よろしくお願いいたします。

--------------------
Mon, 06 Jul 2009 16:12:32 +0900
>岡田様
>
>再現しました。バグのようです。最小のテストケースは以下のものです。
>
>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]