@bitrixweb
Вечно молодой, вечно пьяный

Добавление mysql-триггера из PHP (с изменением разделителя) возможно?

Добрый день, друзья! Мне необходимо взаимодействовать с триггерами mysql (добавлять/удалять) средствами PHP. Пожалуйста, подскажите какими средствами это реализуемо. Ошибка 1064 (синтаксис), но оно и понятно - в запросе из PHP может быть только одна команда для мускула. Как это обойти? В голове остался только .. exec()?
Буду очень признателен. Спасибо!

DELIMITER //
CREATE TRIGGER before_update_elem BEFORE UPDATE ON dc_operations FOR EACH ROW BEGIN
   CASE
      WHEN (...) THEN
         INSERT INTO ...

      WHEN (...) THEN
         INSERT INTO ...
      ELSE BEGIN END;
   END CASE;
END//
DELIMITER ;
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 1
kstkn
@kstkn
Просто не используйте DELIMITER:
<?php

$d = new \PDO('mysql:host=mysql;dbname=test', 'username', 'password');
$sql = <<<SQL
CREATE TRIGGER before_update_elem BEFORE UPDATE ON dc_operations FOR EACH ROW BEGIN
   CASE
      WHEN (...) THEN
         INSERT INTO ...

      WHEN (...) THEN
         INSERT INTO ...
      ELSE BEGIN END;
   END CASE;
END
SQL;
$d->exec($sql);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы