我想在失败的更新上有一个触发器,它将插入到同一个表中。
如果可能的话,我宁愿避免任何额外的 php 和 SELECT 由于性能。
所以我为TRIGGER想到了这样的东西:
CREATE TRIGGER `onChunksUpdate` AFTER UPDATE ON `chunks`
FOR EACH ROW
IF ROW_COUNT() = 0
THEN INSERT INTO chunks( scopeX, scopeY, targets )
VALUES (NEW.scopeX, NEW.scopeY, NEW.targets);
END IF ;
以及执行的更新语句(php):
UPDATE chunks SET targets = CONCAT(targets, ',{$id}') WHERE scopeX={$chunkX} AND scopeY={$chunkY}
此外,我不确定,失败的更新调用是否仍会在之后执行一次 TRIGGER。
感谢您的帮助,我用谷歌搜索了很多帮助,但我什么也没找到。