Создать триггер mysql через PHP?

Я выполняю следующее в PHP5.3:

$sql = "
CREATE TRIGGER `_photo_fulltext_insert` AFTER INSERT ON `photo` FOR EACH ROW INSERT INTO `_photo_fulltext` SELECT * FROM `photo` WHERE `id`=NEW.`id`;
CREATE TRIGGER `_photo_fulltext_delete` AFTER DELETE ON `photo` FOR EACH ROW DELETE FROM `_photo_fulltext` WHERE `id`=OLD.`id`;

DELIMITER |
CREATE TRIGGER `_photo_fulltext_update` AFTER UPDATE ON `photo`
  FOR EACH ROW BEGIN
    DELETE FROM `_photo_fulltext` WHERE `id`=NEW.`id`;
    INSERT INTO `_photo_fulltext` SELECT * FROM `photo` WHERE `id`=NEW.`id`;
  END;
|
DELIMITER ;
";

$mysqli->multi_query($sql);

Триггер «photo_fulltext_update» не создается. Этот оператор запускается (и создает все триггеры) в phpMyAdmin. Я где-то читал в Интернете, что сервер MySQL вообще не поддерживает оператор DELIMITER, поэтому я ищу способ переписать этот многоэтапный оператор CREATE TRIGGER, чтобы mysqli :: multi_query мог отправить его в MySQL .

Спасибо!

7
задан brianjcohen 21 September 2010 в 17:34
поделиться