回答編集履歴

4

追記

2018/01/25 13:53

投稿

退会済みユーザー
test CHANGED
@@ -53,3 +53,9 @@
53
53
 
54
54
 
55
55
  ってことみたいです
56
+
57
+
58
+
59
+
60
+
61
+ ※ innoDB では 文字列項目以外で発生する模様

3

マークダウンきえた・・

2018/01/25 13:53

投稿

退会済みユーザー
test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
 
50
50
 
51
- なので MyISAM では *PRIMARY KEY** に 桁数指定をつけてはいけませんよ
51
+ なので MyISAM では **PRIMARY KEY** に 桁数指定をつけてはいけませんよ
52
52
 
53
53
 
54
54
 

2

誤植

2018/01/25 13:25

投稿

退会済みユーザー
test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
 
50
50
 
51
- なのでINT項目の **PRIMARY KEY** に 桁数指定をつけてはいけませんよ
51
+ なので MyISAM では *PRIMARY KEY** に 桁数指定をつけてはいけませんよ
52
52
 
53
53
 
54
54
 

1

特定したので

2018/01/25 13:25

投稿

退会済みユーザー
test CHANGED
@@ -1,5 +1,55 @@
1
- エラーみてとおり 文字列型primaryキーとする場合は長すぎます
1
+ ほぼ特定したので回答完全修正
2
2
 
3
3
 
4
4
 
5
+ # 発生するSQL
6
+
7
+ ```sql
8
+
9
+ CREATE TABLE `users1` (
10
+
11
+ `id` INT(11) NOT NULL AUTO_INCREMENT,
12
+
13
+ `username` VARCHAR(50) NOT NULL,
14
+
15
+ `password` VARCHAR(50) NOT NULL,
16
+
17
+ `dir` VARCHAR(100) NOT NULL,
18
+
19
+ PRIMARY KEY (`id`(11))
20
+
5
- 72バイトぐらいまでだった気がする
21
+ ) ENGINE = MyISAM;
22
+
23
+ ```
24
+
25
+
26
+
27
+
28
+
29
+ # 発生しないSQL
30
+
31
+ ```sql
32
+
33
+ CREATE TABLE `users1` (
34
+
35
+ `id` INT(11) NOT NULL AUTO_INCREMENT,
36
+
37
+ `username` VARCHAR(50) NOT NULL,
38
+
39
+ `password` VARCHAR(50) NOT NULL,
40
+
41
+ `dir` VARCHAR(100) NOT NULL,
42
+
43
+ PRIMARY KEY (`id`)
44
+
45
+ ) ENGINE = MyISAM;
46
+
47
+ ```
48
+
49
+
50
+
51
+ なのでINT項目の **PRIMARY KEY** に 桁数指定をつけてはいけませんよ
52
+
53
+
54
+
55
+ ってことみたいです