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

質問編集履歴

1

修正に伴うエラーと対策

2018/02/13 09:01

投稿

lkjgffh
lkjgffh

スコア37

title CHANGED
File without changes
body CHANGED
@@ -72,4 +72,34 @@
72
72
  ### 補足情報(FW/ツールのバージョンなど)
73
73
 
74
74
  laravel5.5
75
- mysql 5.7.20-0ubuntu0.16.04.1
75
+ mysql 5.7.20-0ubuntu0.16.04.1
76
+
77
+ ### 追記
78
+
79
+ このまま、続けていいものか分かりませんが・・・・。
80
+ プライマリーキーが構文エラーの元となっていましたので、下記コメントいただきましたように修正したところこちらのエラーは解消されました
81
+
82
+ ただその後下記のようなエラーが出てしまいました
83
+ ```ここに言語を入力
84
+ 17:22:58 alter table テーブル名 modify column カラム名 INT(20) unsigned primary key AUTO_INCREMENT Error Code: 1068. Multiple primary key defined 0.000 sec
85
+
86
+ ```
87
+ こちらのエラーはすでにプライマリーキーがあるのに作ろうとしているエラーだと解釈しました。そのため、一度プライマリーキーを消してから実行しようと下記を追加しました
88
+
89
+ **alter table テーブル名 DROP PRIMARY KEY;**
90
+ そのようにしたところ下記のエラーが出現しました
91
+ ```ここに言語を入力
92
+ 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
93
+ ```
94
+
95
+ そのため、キーを削除し
96
+ alter table テーブル名 DROP FOREIGN KEY キーの名前;
97
+
98
+ この後カラムを更新したところキーが作成されて無いというエラーが出たため下記のようにしました
99
+ ```ここに言語を入力
100
+ 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
101
+
102
+ ```
103
+ alter table テーブル名 add foreign key (キー名) REFERENCES テーブル名(referencesとして結びついているID) on delete cascade on update cascade;
104
+
105
+ これだとForeign key constraint is incorrectly formedとなってしまうので外部キーの更新の仕方を調べていますが、現在は解決に至っていません