Задать вопрос

Как создать связь один ко многим в phpMyAdmin?

Добрый день!
Интересует вопрос, как создать связь между таблицами тип "один ко многим"?

У меня есть таблицы "Родители", "Дети", "Фото" и "Заметки", хочу сделать так, что бы у родителей было много детей, а у детей много фото и заметок, однако если я одному родителю создаю два ребенка, на меня начинает ругаться phpMyAdmin:
Дублирующаяся запись '*' по ключу 'Parent'


5a9d3f4a968d6315923088.png
  • Вопрос задан
  • 2477 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
Вам в школе не рассказывали "про Это"? У ребёнка два родителя.

Дублирующаяся запись '*' по ключу 'Parent'
Уберите уникальность у этого ключа.

И ещё замечание. Не указывайте в таблице возраст. В следующем году потеряет актуальность. Нужно указывать дату рождения , а возраст вычислять.
Формула для MS SQL (c датой смерти, можно сразу подставить текущую дату):
CAST( DATEDIFF( Year, BirthDay, ISNULL( DeathDay, GETDATE())) + ( SIGN ( DATEDIFF ( DAY, BirthDay, DATEADD ( YEAR, YEAR( BirthDay ) - YEAR( ISNULL( DeathDay, GETDATE()) ), ISNULL( DeathDay, GETDATE())))) - 1 ) / 2 AS VARCHAR)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
В таблице детей делай ключ по двум полям, id родителя и parent_name
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы