如何检查表行是否存在触发器?

时间:2010-02-15 00:59:34

标签: mysql database

我想检查表行是否存在触发器。如果确实如此,它什么都不做,但如果它不存在则插入一行。

以下是我要修改的当前代码:

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 个答案:

答案 0 :(得分:1)

mysql trigger tutorial

CREATE TRIGGER Syntax

有关触发器允许的行为限制,请参阅:

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

要检查行是否存在并更新它,否则如果行不存在则插入行,您可以使用INSERT INTO ... ON DUPLICATE KEY UPDATE语句,但在上述链接中提到的触发器限制范围内。