Как проверить, существует ли строка таблицы с триггером? - PullRequest
0 голосов
/ 15 февраля 2010

Я хочу проверить, существует ли строка таблицы с триггером. Если это так, то он ничего не делает, но если он не существует, он вставляет строку.

Вот мой текущий код, который я хочу изменить:

BEGIN
IF (NEW.counter >= 100) THEN
// check if a certain row exists in another table, if not, execute the beneath code
INSERT INTO tagCategories (name, counter) VALUES ('unnamed', NEW.counter);
UPDATE tagCategories2tagPairs SET tagCategoryId = LAST_INSERT_ID() WHERE tagPairId = OLD.id;
END IF;
END

Есть ли хорошие уроки по этому, обучающие всем функциям, которые вы можете использовать с триггером (они не похожи на функции php)?

1 Ответ

1 голос
/ 15 февраля 2010

Учебник по триггеру mysql

Синтаксис CREATE TRIGGER

Информацию об ограничениях поведения, разрешенных в триггерах, см. В

D.1. Ограничения на хранимые процедуры, триггеры и события

Чтобы проверить, существует ли строка и обновить ее, в противном случае вставьте строку, если она не существует, вы можете использовать оператор INSERT INTO ... ON DUPLICATE KEY UPDATE, но в пределах ограничений для триггеров, упомянутых в приведенной выше ссылке. 1018 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...