Я выполняю следующее в 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. ,
Спасибо!