teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

追記

2018/01/25 13:53

投稿

退会済みユーザー
answer CHANGED
@@ -25,4 +25,7 @@
25
25
 
26
26
  なので MyISAM では **PRIMARY KEY** に 桁数指定をつけてはいけませんよ
27
27
 
28
- ってことみたいです
28
+ ってことみたいです
29
+
30
+
31
+ ※ innoDB では 文字列項目以外で発生する模様

3

マークダウンきえた・・

2018/01/25 13:53

投稿

退会済みユーザー
answer CHANGED
@@ -23,6 +23,6 @@
23
23
  ) ENGINE = MyISAM;
24
24
  ```
25
25
 
26
- なので MyISAM では *PRIMARY KEY** に 桁数指定をつけてはいけませんよ
26
+ なので MyISAM では **PRIMARY KEY** に 桁数指定をつけてはいけませんよ
27
27
 
28
28
  ってことみたいです

2

誤植

2018/01/25 13:25

投稿

退会済みユーザー
answer CHANGED
@@ -23,6 +23,6 @@
23
23
  ) ENGINE = MyISAM;
24
24
  ```
25
25
 
26
- なのでINT項目の **PRIMARY KEY** に 桁数指定をつけてはいけませんよ
26
+ なので MyISAM では *PRIMARY KEY** に 桁数指定をつけてはいけませんよ
27
27
 
28
28
  ってことみたいです

1

特定したので

2018/01/25 13:25

投稿

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