2016-11-25 5 views
0

table: recordsERROR 1005(HY000):テーブル 'test.sports' を作成できません(エラー番号:150)

エラーを投げている:

ERROR 1005 (HY000): Can't create table 'test.sports' (errno: 150).

私はそれを解決するための助けが必要。

CREATE TABLE sports(
-> interest text, 
-> prize_money int, 
-> sp_id int NOT NULL, 
-> CONSTRAINT fk_sports 
-> FOREIGN KEY(sp_id) 
-> REFERENCES records(id) 
-> ON DELETE CASCADE 
-> ON UPDATE CASCADE 
->) ENGINE=INNODB; 
+0

もう一つのボット.. – NachoB

+0

あなたは 'records'テーブルの構造を投稿できますか? –

+0

+ ------------ + ------------- + ------ + ----- + -------- - + ------- + |フィールド|タイプ| Null |キー|デフォルト|余分な| + ------------ + ------------- + ------ + ----- + -------- - + ------- + | student_id | int(11)| NO | PRI | 0 | | |テーマ|テキスト|はい| NULL | | | | int(11)|はい| NULL | | |先生| varchar(20)|はい| NULL | | |セックス| tinytext |はい| NULL | | |年齢| int(11)|はい| NULL | | + ------------ + ------------- + ------ + ----- + -------- - + – deka4tech

答えて

0

お客様のrecordsテーブルには、idという列がありません。むしろ、その主キー列はstudent_idであるため、これはおそらくsportsの外部キーから参照することを意図しています。この定義を試してください:

CREATE TABLE sports(
    interest text, 
    prize_money int, 
    sp_id int NOT NULL, 
    CONSTRAINT fk_sports 
    FOREIGN KEY(sp_id) 
    REFERENCES records(student_id) 
    ON DELETE CASCADE 
    ON UPDATE CASCADE 
) ENGINE=INNODB; 
関連する問題