Я просматривал этот код в течение большей части последнего часа, пытаясь понять, что я ошибался. Вероятно, это очевидно, но после столь долгого времени перед компьютером мне может понадобиться второй набор глаз, чтобы он выскочил. У меня есть несколько таблиц, связанных, чтобы держать их 1NF и 2NF, но есть два отключения меня.Природный Присоединиться к двум таблицам в MySQL
У меня есть главный стол, называемый my_contacts, и один, содержащий информацию о состоянии/городе, называемую zip_code. zip_code содержит строку первичного ключа 'zip_code', в которой my_contacts содержит свой внешний ключ.
Проблема в том, когда я пытаюсь присоединиться к ним, я ничего не знаю. Я где-то виноват? Ниже приведены ШОУ Создание таблиц для каждого:
Для 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
я использую довольно простой NATURAL JOIN: 'ВЫБРАТЬ mc.first_name, mc.last_name, zc.state' ' ИЗ my_contacts mc' 'NATURAL JOIN zip_code гс;' Обе таблицы имеют данные в них. Я добавлю приведенный выше код, чтобы включить то, что указано в каждом, если это поможет. – Keith
Является ли почтовый индекс реальным почтовым индексом? У вас это как автоматическое приращение в таблице 'zip_code'. – Taryn