$ wpdb и MySQL Create Trigger

Do $wpdb методы не принимают MySQL CREATE TRIGGER запрос? Я пробовал его с помощью $wpdb->query( $sql_trigger ) снова и снова без успеха. Создается триггер-запрос create-trigger на phpMyAdmin, поэтому запрос кажется прекрасным.

$sql_trigger = "DELIMITER //
                CREATE TRIGGER triggerName
                BEFORE UPDATE
                ON `table_name`
                FOR EACH ROW
                BEGIN
                    IF NEW.amount < 0 THEN
                        SET NEW.amount = 0;
                    ELSEIF NEW.amount > 100 THEN
                        SET NEW.amount = 100;
                    END IF;
                END; //
                DELIMITER ;
                ";

Просто прочитайте, что EddyR использовал mysqli для создания своего триггера. https://wordpress.stackexchange.com/a/34653

Невозможно ли использовать «собственные функции» WP для создания триггера mysql или я что-то не так?

изменить Разделите настройки DELIMITER и запрос, подобные этому (или даже изменив DELIMITER из // на $$) ничего не изменило. по-прежнему та же проблема.

$sql_before_trigger = "DELIMITER $$";
$sql_after_trigger = "DELIMITER ;";

$wpdb->query( $sql_before_trigger );
$wpdb->query( $sql_trigger );
$wpdb->query( $sql_after_trigger );
4 голоса | спросил chabi 22 SunEurope/Moscow2013-12-22T18:58:56+04:00Europe/Moscow12bEurope/MoscowSun, 22 Dec 2013 18:58:56 +0400 2013, 18:58:56

1 ответ


4

В вопросе, с которым вы связались, решением было использовать mysqli_multi_query как API для выполнения SQL. $ wpdb не имеет API для выполнения нескольких запросов, поэтому вы не можете использовать его напрямую, но вы можете получить дескриптор интерфейса mysql от $wpdb->dbh и сделайте что-то вроде

$sql_trigger = "....";
mysqli_multi_query($wpdb->dbh,$sql_trigger);
ответил Mark Kaplun 22 SunEurope/Moscow2013-12-22T20:14:30+04:00Europe/Moscow12bEurope/MoscowSun, 22 Dec 2013 20:14:30 +0400 2013, 20:14:30

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132