SQL базы данных рецептов «многие ко многим»

У меня есть отношение многие ко многим для проекта базы данных рецептов, над которым я работаю, чтобы выучить php / mysql.

Таблица рецептов

recipe_id

Таблица со списком ингредиентов

recipe_id
ingredient_id
amount

Таблица ингредиентов

ingredient_id
ingredient_name

Пользователь вводит названия ингредиентов в html-форму. Они не были предварительно введены в базу данных мной.

У меня вопрос, как я могу запросить базу данных, чтобы:
1.) название ингредиента заносится в таблицу ингредиентов (только если его еще нет)
2.) также вставить его в правильный список ингредиентов для правильного рецепта?

Я, должно быть, здесь упускаю какой-то аспект, который сделает эту концепцию «щелчком» для меня. Я думаю, что, по крайней мере, мои таблицы верны.

0

Решение

Это лучше всего решить, выполнив несколько запросов внутри транзакции.

  1. Проверьте, существует ли ингредиент (или добавьте уникальный индекс по названию ингредиента и отловите ошибку при вставке, если это дубликат)
  2. Вставить ингредиент
  3. Вставить в список ингредиентов
  4. Совершить транзакцию
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]