Я хотел бы создать tirgger перед вставкой, или хранимая процедура скажет, если единица существует, затем вставляет в таблицу артикулов, в противном случае, если единица не существует, сначала создает ее в таблице единиц с автоматической генерацией идентификатора в первичном ключе, затем извлекает идентификатор из таблицы модулей и поместите сгенерированный идентификатор во внешний ключ без таблицы артикулов.
например:
Таблица единиц измерения:
CREATE TABLE unite (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
libelle VARCHAR(50) NOT NULL,
);
Таблица артикулов
CREATE TABLE Article(
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
Code_Article VARCHAR(255) NOT NULL
unit_id
Nombre DECIMAL(5,2)
FOREIGN KEY (unit_id) REFERENCES unite(id)
Данные таблицы Артикул
"az12g","Marteau",2,231.23
"mk125","Tournevis",1,257.21
Данные таблицы Unite
1,cm
2,l
3,kj
И если бы я хотел создать объединение m
В таблице объединения будет строка для следующего с сообщением «Единица установлена»
например
4,m
А в таблице артикулов
"25lk5","Voiture",4,254.65
Если блок уже существует, создается строка с сообщением «статья была успешно вставлена»