Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

SQL ОШИБКА 1452

Maksim Maksimov Ученик (112), открыт 1 неделю назад
создал 2 таблицы, начал заполнять, одну заполнил, вылезла ошибка, не знаю что с ней сделать

ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`sakila`.`favorite_food`, CONSTRAINT `fk_fav_food_person_id` FOREIGN KEY (`person_id`) REFERENCES `person` (`person_id`))
mysql> desc person1;
4 ответа
st ar Знаток (448) 1 неделю назад
да
Maksim MaksimovУченик (112) 1 неделю назад
что я не правильно сделал?
или не сделал?
st ar Знаток (448) Maksim Maksimov, скамейка
Николай Матвейчук Просветленный (44069) 1 неделю назад
Причина. почему я не люблю внешние ключи в БД и обычно контролирую связи на уровне языка, которым работаю с БД. База говорит, что Вы пытаетесь изменить поле, которое связано с другой таблицей, и при этом в той таблице указанного значения нет (то есть Вы нарушаете целостность данных).
АлександрИскусственный Интеллект (294959) 1 неделю назад
человек не любит то, что не получается
Николай Матвейчук Просветленный (44069) Александр, это очень странное заявление. Человек не любит то, что доставляет неудобство, боль или разочарование, а не то, что не получается. У меня очень хорошо получается пальцем об ножку стола биться или о край дивана, настолько хорошо, что прямо сейчас я хожу прихрамывая, потому что вчера в очередной раз шандарахнулся. Значит ли это, что я должен любить биться пальцами об углы или ножки, потому что у меня получается? - думаю ответ очевиден. Так и с данным вопросом. Я не использую внешние ключи в БД потому, что мне в любом случае приходится частично обеспечивать контроль данных на стороне бэкэнда, а не БД, и потому мне удобнее перенести весь контроль туда, тем более что так я смогу записывать данные в БД в любой последовательности, которая мне удобна (в транзакциях, разумеется)
[ ] [ ] Знаток (289) 1 неделю назад
Тебе ключ надо вторичный указать. А вообще, когда создаю таблицу у меня NOT_NULL параметр только на ключе. Да, возможно это плохо, это неправильно, но нет головных болей, если я хочу добавить запись без привязок к другой таблице
Александр Искусственный Интеллект (294959) 1 неделю назад
что даёт тебе такой составной primary key? или ты просто где-то такое видел и у себя повторил?
Похожие вопросы