私は過去 1 時間の大部分をこのコードに目を通し、自分の失敗を理解しようとしていました。かなり明白かもしれませんが、コンピュータの前に長時間いると、コンピュータを飛び出させるためにもう 1 組の目が必要になるだけかもしれません。1NF と 2NF を維持するために複数のテーブルを接続していますが、つまずく 2 つのテーブルがあります。
my_contacts というメイン テーブルと、zip_code という州/市の情報を保持するテーブルがあります。zip_code は主キー行 'zip_code' を保持し、my_contacts はその外部キーを保持します。
問題は、参加しようとしても何も得られないことです。私はどこかで失敗しましたか?以下は、それぞれの SHOW CREATE TABLE です。
my_contacts の場合:
CREATE TABLE `my_contacts` (
`contact_id` int(11) NOT NULL AUTO_INCREMENT,
`last_name` varchar(100) DEFAULT NULL,
`first_name` varchar(100) DEFAULT NULL,
`phone` varchar(13) DEFAULT NULL,
`email` varchar(100) DEFAULT NULL,
`gender` char(1) DEFAULT NULL,
`birthday` date DEFAULT NULL,
`prof_id` int(11) DEFAULT NULL,
`zip_code` int(11) DEFAULT NULL,
PRIMARY KEY (`contact_id`),
KEY `mc_profid_fk` (`prof_id`),
KEY `my_zip_fk` (`zip_code`),
CONSTRAINT `mc_profid_fk` FOREIGN KEY (`prof_id`)
REFERENCES `profession` (`prof_id`),
CONSTRAINT `my_zip_fk` FOREIGN KEY (`zip_code`) REFERENCES `zip_code` (`zip_code`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8
zip_code:
CREATE TABLE `zip_code` (
`zip_code` int(11) NOT NULL AUTO_INCREMENT,
`city` varchar(50) DEFAULT NULL,
`state` char(2) DEFAULT NULL,
PRIMARY KEY (`zip_code`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8
前もって感謝します。