2016-08-06 5 views
0

これらの5つのテーブルを作成しようとしている間に問題が発生しました。私は問題がチャンピオンを扱わなければならないと言うことができますから。私は自分のSQLファイルをインポートしようとするたびに、私はチャンピオンテーブルが作成できないことを示すerrno 150を取得します。チャンピオンを明確にするためにこれらのテーブルを作成する際に問題が発生しました

は、唯一の派閥を持つことができますが、派閥は、多くのチャンピオンで構成することができます。役割と親和性の同じ関係。事前に助けていただきありがとうございます。

champion表は、この問題を解決yet.To存在しないテーブルを参照 affinitya_idを持っているので、あなたが最初 championテーブルの前に affinityテーブルを作成する必要があります
DROP TABLE IF EXISTS `champion`; 
DROP TABLE IF EXISTS `role`; 
DROP TABLE IF EXISTS `build`; 
DROP TABLE IF EXISTS `faction`; 
DROP TABLE IF EXISTS `build_type`; 
DROP TABLE IF EXISTS `affinity`; 


-- roles table 
-- Table consisting of the roles various champions play 

CREATE TABLE `role` (
     `role_id` int(11) NOT NULL AUTO_INCREMENT, 
     `role_name` varchar(255) NOT NULL, 
     PRIMARY KEY (`role_id`) 
)ENGINE=InnoDB; 

-- build table 
CREATE TABLE `build` (
     `build_id` int(11) NOT NULL AUTO_INCREMENT, 
     `build_name` varchar(255) NOT NULL, 
     PRIMARY KEY (`build_id`), 
     UNIQUE KEY (`build_name`) 
)ENGINE=InnoDB; 

-- faction table 
-- Table consisting of the faction each champion belongs to 

CREATE TABLE `faction`(
     `faction_id` int(11) NOT NULL AUTO_INCREMENT, 
     `faction_name` varchar(255) NOT NULL, 
     PRIMARY KEY (`faction_id`) 
)ENGINE=InnoDB; 


-- Champions table 
-- Table consisting of various champions in League of Legends 

CREATE TABLE `champion`(
     `champion_id` int(11) NOT NULL AUTO_INCREMENT, 
     `champion_name` varchar(255) NOT NULL, 
     `f_id` int(11) NOT NULL, 
     `r_id` int(11) NOT NULL, 
     `a_id` int(11) NOT NULL, 
     PRIMARY KEY (`champion_id`), 
     FOREIGN KEY (`r_id`) REFERENCES `role` (`role_id`) 
       ON DELETE CASCADE 
       ON UPDATE CASCADE, 
     FOREIGN KEY (`f_id`) REFERENCES `faction` (`faction_id`) 
       ON DELETE CASCADE 
       ON UPDATE CASCADE, 
     FOREIGN KEY (`a_id`) REFERENCES `affinity` (`affinity_id`) 
       ON DELETE CASCADE 
       ON UPDATE CASCADE, 
     UNIQUE KEY (`champion_name`) 
)ENGINE=InnoDB; 

-- build_type table 
CREATE TABLE `build_type`(
     `cid` int(11) NOT NULL, 
     `bid` int(11) NOT NULL, 
     PRIMARY KEY (`cid`, `bid`), 
     FOREIGN KEY (`cid`) REFERENCES `champion` (`champion_id`) 
       ON DELETE CASCADE 
       ON UPDATE CASCADE, 
     FOREIGN KEY (`bid`) REFERENCES `build` (`build_id`) 
       ON DELETE CASCADE 
       ON UPDATE CASCADE 
)ENGINE=InnoDB; 


-- affinity table 
-- Table consisting of the affinity a certain champion synergizes 
-- with 

CREATE TABLE `affinity`(
     `affinity_id` int(11) NOT NULL AUTO_INCREMENT, 
     `affinity_name` varchar(255) NOT NULL, 
     PRIMARY KEY (`affinity_id`) 
)ENGINE=InnoDB; 

答えて

2

この

CREATE TABLE `affinity`(
     `affinity_id` int(11) NOT NULL AUTO_INCREMENT, 
     `affinity_name` varchar(255) NOT NULL, 
     PRIMARY KEY (`affinity_id`) 
)ENGINE=InnoDB; 

CREATE TABLE `champion`(
     `champion_id` int(11) NOT NULL AUTO_INCREMENT, 
     `champion_name` varchar(255) NOT NULL, 
     `f_id` int(11) NOT NULL, 
     `r_id` int(11) NOT NULL, 
     `a_id` int(11) NOT NULL, 
     PRIMARY KEY (`champion_id`), 
     FOREIGN KEY (`r_id`) REFERENCES `role` (`role_id`) 
       ON DELETE CASCADE 
       ON UPDATE CASCADE, 
     FOREIGN KEY (`f_id`) REFERENCES `faction` (`faction_id`) 
       ON DELETE CASCADE 
       ON UPDATE CASCADE, 
     FOREIGN KEY (`a_id`) REFERENCES `affinity` (`affinity_id`) 
       ON DELETE CASCADE 
       ON UPDATE CASCADE, 
     UNIQUE KEY (`champion_name`) 
)ENGINE=InnoDB; 
01の前に来なければなりません
+0

私はそれがとても簡単な修正だとうれしいです。それを指摘してくれてありがとう。 – tntsgoboom

+0

あなたは大歓迎です – jonju

関連する問題