2010-02-15 2 views
0

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

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

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

mysql trigger tutorial

CREATE TRIGGER Syntax

Для ограничения на поведение допускается в триггерах, см:

D.1. Restrictions on Stored Routines, Triggers, and Events

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

+0

много, чтобы читать ... это то, что я хочу сделать возможным? – ajsie

+1

чтение хорошее: оно улучшает навыки ... –