質問編集履歴

1

修正に伴うエラーと対策

2018/02/13 09:01

投稿

lkjgffh
lkjgffh

スコア37

test CHANGED
File without changes
test CHANGED
@@ -147,3 +147,63 @@
147
147
  laravel5.5
148
148
 
149
149
  mysql 5.7.20-0ubuntu0.16.04.1
150
+
151
+
152
+
153
+ ### 追記
154
+
155
+
156
+
157
+ このまま、続けていいものか分かりませんが・・・・。
158
+
159
+ プライマリーキーが構文エラーの元となっていましたので、下記コメントいただきましたように修正したところこちらのエラーは解消されました
160
+
161
+
162
+
163
+ ただその後下記のようなエラーが出てしまいました
164
+
165
+ ```ここに言語を入力
166
+
167
+ 17:22:58 alter table テーブル名 modify column カラム名 INT(20) unsigned primary key AUTO_INCREMENT Error Code: 1068. Multiple primary key defined 0.000 sec
168
+
169
+
170
+
171
+ ```
172
+
173
+ こちらのエラーはすでにプライマリーキーがあるのに作ろうとしているエラーだと解釈しました。そのため、一度プライマリーキーを消してから実行しようと下記を追加しました
174
+
175
+
176
+
177
+ **alter table テーブル名 DROP PRIMARY KEY;**
178
+
179
+ そのようにしたところ下記のエラーが出現しました
180
+
181
+ ```ここに言語を入力
182
+
183
+ 17:32:50 alter table テーブル名 DROP PRIMARY KEY Error Code: 1025. Error on rename of './DB名/#sql-5eb_162' to './DB名/テーブル名' (errno: 150 - Foreign key constraint is incorrectly formed) 0.016 sec
184
+
185
+ ```
186
+
187
+
188
+
189
+ そのため、キーを削除し
190
+
191
+ alter table テーブル名 DROP FOREIGN KEY キーの名前;
192
+
193
+
194
+
195
+ この後カラムを更新したところキーが作成されて無いというエラーが出たため下記のようにしました
196
+
197
+ ```ここに言語を入力
198
+
199
+ 17:27:12 alter table テーブル名 DROP PRIMARY KEY Error Code: 1025. Error on rename of './DB名/#sql-5eb_162' to './DB名/テーブル名' (errno: 150 - Foreign key constraint is incorrectly formed) 0.016 sec
200
+
201
+
202
+
203
+ ```
204
+
205
+ alter table テーブル名 add foreign key (キー名) REFERENCES テーブル名(referencesとして結びついているID) on delete cascade on update cascade;
206
+
207
+
208
+
209
+ これだとForeign key constraint is incorrectly formedとなってしまうので外部キーの更新の仕方を調べていますが、現在は解決に至っていません