Drakon
Новичок
Триггер аналог внешнего ключа
Есть таблица, в которой хранятся связи с разными таблицами...
Например вот так:
Если links_list.type = 1, то item_id указывает на таблицу type_1, если links_list.type = 2, то item_id указывает на type_2 и т. д.
Так вот хочу чтобы при добавлении в links_list например значений (1,10,'aaaa') проверялось, что в таблице type_1 есть строка с id=10 и если её нету, то чтоб вставка записи блокировалась. Вопрос в том, что не пойму как в триггере блокировать вставку записи.
Есть таблица, в которой хранятся связи с разными таблицами...
Например вот так:
Код:
CREATE TABLE links_list (`type` INT NOT NULL , `item_id` INT NOT NULL , `link_info`VARCHAR(255));
CREATE TABLE type_1 ( id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) );
CREATE TABLE type_2 ( id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) );
CREATE TABLE type_3 ( id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) );
Так вот хочу чтобы при добавлении в links_list например значений (1,10,'aaaa') проверялось, что в таблице type_1 есть строка с id=10 и если её нету, то чтоб вставка записи блокировалась. Вопрос в том, что не пойму как в триггере блокировать вставку записи.