質問編集履歴
2
DDL修正
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -27,11 +27,11 @@ 
     | 
|
| 
       27 
27 
     | 
    
         
             
            	datetime3 datetime NOT NULL,
         
     | 
| 
       28 
28 
     | 
    
         
             
            	datetime4 datetime NOT NULL,
         
     | 
| 
       29 
29 
     | 
    
         
             
            	hoge3 varchar(50) NOT NULL,
         
     | 
| 
       30 
     | 
    
         
            -
            	hoge4 int NOT NULL 
     | 
| 
      
 30 
     | 
    
         
            +
            	hoge4 int NOT NULL,
         
     | 
| 
       31 
31 
     | 
    
         
             
            	hoge5 int NOT NULL,
         
     | 
| 
       32 
32 
     | 
    
         
             
            	hoge6 varchar(255),
         
     | 
| 
       33 
     | 
    
         
            -
            	hoge7 int NOT NULL 
     | 
| 
      
 33 
     | 
    
         
            +
            	hoge7 int NOT NULL,
         
     | 
| 
       34 
     | 
    
         
            -
            	hoge8 int NOT NULL 
     | 
| 
      
 34 
     | 
    
         
            +
            	hoge8 int NOT NULL,
         
     | 
| 
       35 
35 
     | 
    
         
             
            	hoge9 int NOT NULL,
         
     | 
| 
       36 
36 
     | 
    
         
             
            	datetime5 datetime NOT NULL,
         
     | 
| 
       37 
37 
     | 
    
         
             
            	datetime6 datetime NOT NULL,
         
     | 
| 
         @@ -64,10 +64,10 @@ 
     | 
|
| 
       64 
64 
     | 
    
         
             
            	hoge19 varchar(255),
         
     | 
| 
       65 
65 
     | 
    
         
             
            	hoge20 varchar(255),
         
     | 
| 
       66 
66 
     | 
    
         
             
            	hoge21 varchar(255),
         
     | 
| 
       67 
     | 
    
         
            -
            	hoge22 tinyint unsigned NOT NULL 
     | 
| 
      
 67 
     | 
    
         
            +
            	hoge22 tinyint unsigned NOT NULL,
         
     | 
| 
       68 
     | 
    
         
            -
            	hoge23 tinyint unsigned 
     | 
| 
      
 68 
     | 
    
         
            +
            	hoge23 tinyint unsigned,
         
     | 
| 
       69 
     | 
    
         
            -
            	hoge24 tinyint unsigned DEFAULT 0 NOT NULL 
     | 
| 
      
 69 
     | 
    
         
            +
            	hoge24 tinyint unsigned DEFAULT 0 NOT NULL,
         
     | 
| 
       70 
     | 
    
         
            -
            	hoge25 tinyint unsigned 
     | 
| 
      
 70 
     | 
    
         
            +
            	hoge25 tinyint unsigned,
         
     | 
| 
       71 
71 
     | 
    
         
             
            	hoge26 datetime NOT NULL,
         
     | 
| 
       72 
72 
     | 
    
         
             
            	hoge27 datetime NOT NULL,
         
     | 
| 
       73 
73 
     | 
    
         
             
            	PRIMARY KEY (id2)
         
     | 
1
DDLと発行したINSERT文です
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -10,4 +10,84 @@ 
     | 
|
| 
       10 
10 
     | 
    
         
             
            ```
         
     | 
| 
       11 
11 
     | 
    
         
             
            ちなみに上記の'389871'はエラーの出たINSERTの数時間前に登録されたレコードなので、ほぼ同時にINSERTしてエラーになったというわけでもありません。またしばらくおいて再度INSERTすると成功しました。
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
            恐らくAUTO_INCREMENTの採番値が更新されていなかったのだと思いますが、そのような事は発生するのでしょうか?また発生しやすい状況等ありましたらご教授頂くと幸いです。
         
     | 
| 
      
 13 
     | 
    
         
            +
            恐らくAUTO_INCREMENTの採番値が更新されていなかったのだと思いますが、そのような事は発生するのでしょうか?また発生しやすい状況等ありましたらご教授頂くと幸いです。
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            **** 追記 ****
         
     | 
| 
      
 16 
     | 
    
         
            +
            DDLとINSERT文です(※カラム名や値は変えています)
         
     | 
| 
      
 17 
     | 
    
         
            +
            test2テーブルのINSERTで、AI_IDの重複でエラーになります。
         
     | 
| 
      
 18 
     | 
    
         
            +
            ```
         
     | 
| 
      
 19 
     | 
    
         
            +
            -- DDL
         
     | 
| 
      
 20 
     | 
    
         
            +
            CREATE TABLE test
         
     | 
| 
      
 21 
     | 
    
         
            +
            (
         
     | 
| 
      
 22 
     | 
    
         
            +
            	id int NOT NULL AUTO_INCREMENT,
         
     | 
| 
      
 23 
     | 
    
         
            +
            	hoge1 varchar(10) NOT NULL,
         
     | 
| 
      
 24 
     | 
    
         
            +
            	hoge2 varchar(10) NOT NULL,
         
     | 
| 
      
 25 
     | 
    
         
            +
            	datetime1 datetime NOT NULL,
         
     | 
| 
      
 26 
     | 
    
         
            +
            	datetime2 datetime NOT NULL,
         
     | 
| 
      
 27 
     | 
    
         
            +
            	datetime3 datetime NOT NULL,
         
     | 
| 
      
 28 
     | 
    
         
            +
            	datetime4 datetime NOT NULL,
         
     | 
| 
      
 29 
     | 
    
         
            +
            	hoge3 varchar(50) NOT NULL,
         
     | 
| 
      
 30 
     | 
    
         
            +
            	hoge4 int NOT NULL COMMENT,
         
     | 
| 
      
 31 
     | 
    
         
            +
            	hoge5 int NOT NULL,
         
     | 
| 
      
 32 
     | 
    
         
            +
            	hoge6 varchar(255),
         
     | 
| 
      
 33 
     | 
    
         
            +
            	hoge7 int NOT NULL COMMENT,
         
     | 
| 
      
 34 
     | 
    
         
            +
            	hoge8 int NOT NULL COMMENT,
         
     | 
| 
      
 35 
     | 
    
         
            +
            	hoge9 int NOT NULL,
         
     | 
| 
      
 36 
     | 
    
         
            +
            	datetime5 datetime NOT NULL,
         
     | 
| 
      
 37 
     | 
    
         
            +
            	datetime6 datetime NOT NULL,
         
     | 
| 
      
 38 
     | 
    
         
            +
            	PRIMARY KEY (id)
         
     | 
| 
      
 39 
     | 
    
         
            +
            ) ENGINE = InnoDB;
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            CREATE TABLE test2
         
     | 
| 
      
 42 
     | 
    
         
            +
            (
         
     | 
| 
      
 43 
     | 
    
         
            +
            	AI_ID int NOT NULL AUTO_INCREMENT,
         
     | 
| 
      
 44 
     | 
    
         
            +
            	id int NOT NULL,
         
     | 
| 
      
 45 
     | 
    
         
            +
            	id2 varchar(50),
         
     | 
| 
      
 46 
     | 
    
         
            +
            	hoge10 varchar(255) CHARACTER SET ascii,
         
     | 
| 
      
 47 
     | 
    
         
            +
            	hoge11 varchar(10),
         
     | 
| 
      
 48 
     | 
    
         
            +
            	hoge12 int,
         
     | 
| 
      
 49 
     | 
    
         
            +
            	datetime1 datetime NOT NULL,
         
     | 
| 
      
 50 
     | 
    
         
            +
            	datetime2 datetime NOT NULL,
         
     | 
| 
      
 51 
     | 
    
         
            +
            	PRIMARY KEY (AI_ID),
         
     | 
| 
      
 52 
     | 
    
         
            +
            	CONSTRAINT uq_test2_01 UNIQUE (id, id2, hoge10)
         
     | 
| 
      
 53 
     | 
    
         
            +
            ) ENGINE = InnoDB;
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
            CREATE TABLE test3
         
     | 
| 
      
 56 
     | 
    
         
            +
            (
         
     | 
| 
      
 57 
     | 
    
         
            +
            	id2 varchar(50) NOT NULL,
         
     | 
| 
      
 58 
     | 
    
         
            +
            	hoge13 text NOT NULL,
         
     | 
| 
      
 59 
     | 
    
         
            +
            	hoge14 varchar(255) NOT NULL,
         
     | 
| 
      
 60 
     | 
    
         
            +
            	hoge15 tinyint unsigned,
         
     | 
| 
      
 61 
     | 
    
         
            +
            	hoge16 varchar(255),
         
     | 
| 
      
 62 
     | 
    
         
            +
            	hoge17 date,
         
     | 
| 
      
 63 
     | 
    
         
            +
            	hoge18 varchar(255),
         
     | 
| 
      
 64 
     | 
    
         
            +
            	hoge19 varchar(255),
         
     | 
| 
      
 65 
     | 
    
         
            +
            	hoge20 varchar(255),
         
     | 
| 
      
 66 
     | 
    
         
            +
            	hoge21 varchar(255),
         
     | 
| 
      
 67 
     | 
    
         
            +
            	hoge22 tinyint unsigned NOT NULL COMMENT,
         
     | 
| 
      
 68 
     | 
    
         
            +
            	hoge23 tinyint unsigned COMMENT,
         
     | 
| 
      
 69 
     | 
    
         
            +
            	hoge24 tinyint unsigned DEFAULT 0 NOT NULL COMMENT,
         
     | 
| 
      
 70 
     | 
    
         
            +
            	hoge25 tinyint unsigned COMMENT,
         
     | 
| 
      
 71 
     | 
    
         
            +
            	hoge26 datetime NOT NULL,
         
     | 
| 
      
 72 
     | 
    
         
            +
            	hoge27 datetime NOT NULL,
         
     | 
| 
      
 73 
     | 
    
         
            +
            	PRIMARY KEY (id2)
         
     | 
| 
      
 74 
     | 
    
         
            +
            ) ENGINE = InnoDB;
         
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
      
 76 
     | 
    
         
            +
            ALTER TABLE test2
         
     | 
| 
      
 77 
     | 
    
         
            +
            	ADD FOREIGN KEY (id)
         
     | 
| 
      
 78 
     | 
    
         
            +
            	REFERENCES test (id)
         
     | 
| 
      
 79 
     | 
    
         
            +
            	ON UPDATE RESTRICT
         
     | 
| 
      
 80 
     | 
    
         
            +
            	ON DELETE RESTRICT
         
     | 
| 
      
 81 
     | 
    
         
            +
            ;
         
     | 
| 
      
 82 
     | 
    
         
            +
             
     | 
| 
      
 83 
     | 
    
         
            +
            ALTER TABLE test2
         
     | 
| 
      
 84 
     | 
    
         
            +
            	ADD FOREIGN KEY (id2)
         
     | 
| 
      
 85 
     | 
    
         
            +
            	REFERENCES test3 (id2)
         
     | 
| 
      
 86 
     | 
    
         
            +
            	ON UPDATE RESTRICT
         
     | 
| 
      
 87 
     | 
    
         
            +
            	ON DELETE RESTRICT
         
     | 
| 
      
 88 
     | 
    
         
            +
            ;
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
            -- INSERT文
         
     | 
| 
      
 91 
     | 
    
         
            +
            insert into test2(id, id2, hoge10, hoge11, hoge12, datetime1, datetime2)
         
     | 
| 
      
 92 
     | 
    
         
            +
            values(211, 'id2', 'hoge10', 'hoge11', null, NOW(), NOW());
         
     | 
| 
      
 93 
     | 
    
         
            +
            ```
         
     |