0
我一直在查看這段代碼,以找出最後一小時的更好的部分,試圖找出我的失誤。這可能非常明顯,但是在電腦前這麼久以後,我可能只需要第二組眼睛就可以彈出。我有多個表連接,讓他們1NF和2NF,但有兩個讓我絆倒。自然加入MySQL中的兩個表格
我有一個名爲my_contacts的主表,還有一個名爲zip_code的狀態/城市信息。 zip_code保存主鍵行'zip_code',其中my_contacts保存其外鍵。
問題是,當我嘗試加入他們時,我什麼都沒得到。我在某個地方搞砸了嗎?下面是SHOW創建的每個表:
對於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
在此先感謝。
您用來選擇什麼查詢?你確定你有兩個表中的數據嗎?你能發佈一些樣本數據嗎? – Taryn
我是用一個非常簡單的自然連接: '選擇mc.first_name,mc.last_name,zc.state' 'FROM my_contacts mc' '自然連接ZIP_CODE ZC;' 兩個表中都有數據。我將附加上面的代碼,以包括每個列出的內容,如果這將有所幫助。 – Keith
是郵編真實郵編嗎?您將它作爲'zip_code'表中的自動增量。 – Taryn