LINUX.ORG.RU

История изменений

Исправление 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
Чего смешного?

Зы. Ну, а что ты от меня хотел?

Явно не таких костылей :)