История изменений
Исправление dhameoelin, (текущая версия) :
Проверять/менять в триггере на insert перед вставкой?
Именно:
CREATE TRIGGER `relations_before_insert` BEFORE INSERT ON `relations`
FOR EACH ROW
BEGIN
DECLARE some_var int default 0;
SELECT COUNT(*) INTO some_var FROM `relations` WHERE relations.from=NEW.to AND relations.to=NEW.from;
IF some_var > 0 THEN
SIGNAL SQLSTATE '45000' SET
MYSQL_ERRNO = 1062,
MESSAGE_TEXT = "Reverse link already exists";
END IF;
END
Зы. Ну, а что ты от меня хотел?
Явно не таких костылей, как ты предлагал :)
Исходная версия dhameoelin, :
Проверять/менять в триггере на insert перед вставкой?
Именно:
CREATE TRIGGER `relations_before_insert` BEFORE INSERT ON `relations`
FOR EACH ROW
BEGIN
DECLARE some_var int default 0;
SELECT COUNT(*) INTO some_var FROM `relations` WHERE relations.from=NEW.to AND relations.to=NEW.from;
IF some_var > 0 THEN
SIGNAL SQLSTATE '45000' SET
MYSQL_ERRNO = 1062,
MESSAGE_TEXT = "Reverse link already exists";
END IF;
END
Зы. Ну, а что ты от меня хотел?
Явно не таких костылей :)