首页 > 解决方案 > 当此触发器查询直接在 mysql 中运行良好时,MySQL TRIGGER 无法与 $wpdb->query 一起使用

问题描述

这是我的触发器查询,当它直接在 mysql 数据库中触发时,它工作正常,但是当我在 wordpress 中使用这个查询时,它就不起作用了。 所以你能给我一些解决方案,我如何用 wordpress 运行这个查询?

drop trigger if exists table_1;

DELIMITER $$
CREATE TRIGGER table_1
AFTER 
INSERT ON table_2
FOR EACH ROW 
begin

INSERT INTO table_3 ( place_id, store_name, store_address) VALUES (new.place_id, new.store_name, new.vicinity);

end $$
DELIMITER ;

先感谢您。

标签: phpmysqldatabasewordpress

解决方案


如果您想通过 wordpress 创建触发器,则不能使用 $wpdb->query() 方法,因为它不支持触发器创建查询。事实上,Wordpress wpdb API 根本不支持这一点。

您必须公开底层 mysqli API 并通过执行以下操作使用 mysqli_multi_query:

mysqli_multi_query($wpdb->dbh, $your_trigger_query)

mysqli_multi_query 函数使用 mysqli 连接并支持创建触发器。


推荐阅读