質問編集履歴
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
|
+
```
|