mysql — Управление таблицей соединений с переполнением стека

Я создаю приложение с PHP, который использует Mysql DB для управления данными.
Таблицы такие:

user         purchasing      medicine
____         ________        ________
id_user      id_user         id_medicine
username     id_medic        item

Что на самом деле обманывает меня … следует вставить значения в покупку (соединительную таблицу) после того, как я обновлю пользователя и таблицу лекарств?
Должен ли я использовать транзакции для этого?

И второй вопрос, являются ли id_user и id_medic в соединительной таблице, индексах или уникальными?

Извините, я забыл MySQL.
заранее спасибо

0

Решение

  1. Вы должны вставить в medicine Стол первый. Потому что, если вы правильно настраиваете базу данных, purchasing.id_medic следует обратиться к medicine.id_medicineИтак, вставляя в purchasing таблица должна выйти из строя, если ее нет id_medicine добавлено ранее. (И да, вы должны использовать транзакции, если считаете, что существует возможность отката после вставки нескольких строк).

  2. В purchasing Таблица, id_user а также id_medic оба должны быть индексами наверняка, но будет ли он уникальным, зависит от ваших вариантов использования. Например :

    • Если вы считаете, что любой пользователь может приобрести только один товар, тогда id_user должен быть уникальным.

    • Если вы считаете, что какой-либо предмет не может быть продан более одного раза, id_medic должен быть уникальным.

    • Если вы думаете, что любой пользователь может купить любой товар только один раз, то должны быть уникальные id_user а также id_medic

0

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

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

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