Я им соединение а они мне вот что: #1452 - Cannot add or update a child row: a foreign key constraint fails (`cddelop11659`.`#sql-cc4_239`, CONSTRAINT `#sql-cc4_239_ibfk_3` FOREIGN KEY (`id_city`) REFERENCES `city` (`id_city`)) таблицы innodb таблица city id_city smalint (10) primary key autoinkremen city varchar country_id таблица vakans id_vak int (5) primary key autoinkremen koment varchar id_firm int (5) id_dol int (5) id_city smalint (10) хочу соеденить тве таблицы с помощью поля id_city . таблица city как бы справочник а vakans "рабочяя" таблица. в обе таблицы было внесено несколько записей. Что не так?
Re: Пытаюсь соединить таблицы внешним ключом - ввыдает ошибк серьёзно? создай пожалуйста на sqlfiddle.com песочницу с несколькими записям и покажи какой именно запрос вызывает ошибку.
Re: Пытаюсь соединить таблицы внешним ключом - ввыдает ошибк подумаешь описался - AUTO_INCREMENT Ппробую разобраться с вашим сайтом
Re: Пытаюсь соединить таблицы внешним ключом - ввыдает ошибк У вас в таблицах уже есть данные, которые нарушают внешний ключ.
Re: Пытаюсь соединить таблицы внешним ключом - ввыдает ошибк да, уже разобрался. в поле vakans.id_city были данные - "0" . пришлось вписывать вручную. представил себе ужас, еслиб в таблице было 100 000 записей. Понимаю, что надо вначале разработать архитектуру а потом вносить данные. ну а все таки, если в жизни такое произошло - база разработана, данные внесены и оказалось что надо присоединить ещё одну таблицу, можно ли это сделать не вручную и чтоб не уничтожать все записи в таблице? Спасибо
Re: Пытаюсь соединить таблицы внешним ключом - ввыдает ошибк JOIN вы можете построить и без внешнего ключа, и написать нужный запрос что-то удаляющий, или что-то добавляющий в нужную таблицу. Или, если важно сохранить существующее, то можно отключить проверки внешний ключей, добавить его, и включить проверку обратно. Но в общем лучше этого не делать, иначе, потом забудете о сделанном и будут проблемы.
Re: Пытаюсь соединить таблицы внешним ключом - ввыдает ошибк хм...я пока что слабо себе представляю как можно join ом вывести что петров из Москвы а сидоров из питербурга без внешнего ключа... вижу мне ещё долго в падаванах ходить... смысл сказанного понимаю, что проектировать надо сразу дабы избежать ужасов в будущем
Re: Пытаюсь соединить таблицы внешним ключом - ввыдает ошибк легко. в таблице же будет поле идентификатор_города, в котором будут валидные данные равные идентификатору города из таблицы городов. "внешний ключ" лишь дает дополнительный функционал для контроля целостности при обновлениях удалениях. никакой магии типа дополнения кортежей одной таблицы связанными данными из другой он не делает. всё равно придется пользоваться джойнами.
Re: Пытаюсь соединить таблицы внешним ключом - ввыдает ошибк сажусь в медитацию над сказанным... а вообще, как правильно? допустим я совершил невозможное и предвидел все таблицы и их связи.. как правильно связать раз и до конца времен? Добавлено спустя 19 минут 41 секунду: Re: Пытаюсь соединить таблицы внешним ключом - ввыдает ошибку Сейчас у меня вопрос - как сделать, чтоб связь между двумя полями двух таблиц могла быть а могла и не быть. пример: таблица vakans (вакансии) id_vak 1 name_vak менеджер таблица kandidat (кандидаты) id_kand 1 name_kand Иванов как сделать так, чтоб Иванов мог быть привязан к вакансии менеджер а мог быть и без всякой вакансии? на странице Иванову чекбоксом или селектом может присвоется звание менеджера а можно его оставить вольным.