У меня есть таблица MySql с именем "service":
*Table Service*
PK serv_ID Int(2)
Address Varchar(20)
Date Date
Чем у меня есть табличное имя "материалы":
*Table Materials*
PK Mat_ID Int(2)
Stock_Qty Int(2)
Unit enum(m,u)
Теперь, для каждой службы, я потратил некоторые материалы, и я сделал таблицу:
Service_Material
FK serv_ID
Fk Mat_ID
Qty int(2)
Как я могу предотвратить каждую услугу, не повторяйте один и тот же материал?
Используйте уникальное ограничение или индекс:
create unique index unq_service_material_serv_mat on service_material(serv_id, mat_id);
Вы также можете добавить это как ограничение (вместо этого):
alter table service_material
add constraint unq_service_material_serv_mat
unique(serv_id, mat_id);