Вставьте MySQL на внешний ключ ID PHP - PullRequest
0 голосов
/ 11 июня 2018

У меня есть 2 стола, клубы и приспособления

клубы

id (int)
name (text)

светильники

id (int)
hometeam (int, foreign key to clubs id)
awayteam (int, foreign key to clubs id)
datetime (datetime)

Каждыйзапись фикстур использует идентификатор для hometeam и awayteam в соответствии с отношением внешнего ключа.

Мне нужно сделать вставку в таблицу fixtures, но у меня есть только имя hometeam, а не идентификатор hometeam.Есть ли способ сделать это через отношение внешнего ключа, без необходимости отдельно искать соответствующий идентификационный номер?

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Нет ничего плохого в поиске значения внешнего ключа через отдельный запрос выбора:

INSERT INTO `fixtures`
    VALUES ( NULL,
             (SELECT `id` FROM `clubs` WHERE `name` = 'NAME'),
             AWAYTEAM_ID,
             CURRENT_TIMESTAMP
    );
0 голосов
/ 11 июня 2018

Вам необходимо выполнить 2 действия:

  • Вставить hometeam в таблицу клубов (получить hometeamID, если уже есть, в противном случае вставить и получить идентификатор)
  • Затем вставить в таблицу приборов
...