我正在尝试使用wordpress插件中的dbDelta()函数在mySQL数据库中的自定义表上创建TRIGGER我正在构建! 在插件激活时,将创建表并使用默认数据填充表。执行此功能时:
function PDFsem_initial_trigger($ldd_tabela) {
global $wpdb;
$table_name = $wpdb->prefix.$ldd_tabela;
//it works!!!
$sql = "CREATE TRIGGER brisIspod BEFORE DELETE ON ".$table_name." FOR EACH ROW INSERT INTO wp_ldd_usluga (usluga_naziv,usluga_rbr,seminar_id) VALUES('NEW TRIGGERED DATA', 2, 2)";
/*
//dont work!!!
$sql = "CREATE TRIGGER brisIspod BEFORE DELETE ON wp_ldd_seminar FOR EACH ROW DELETE FROM wp_ldd_usluga WHERE wp_ldd_usluga.seminar_id = old.id_seminar;";
*/
dbDelta( $sql );
}
函数在BEFORE DELETE ... INSERT INTO ...上创建触发器,但不会在BEFORE DELETE ... DELETE ...上创建触发器。如果在phpMysqlAdmin控制台中执行sql查询,则会定期创建触发器。 我不是在同一时间创建两个触发器,所以一个正在评论中。第一个触发器只是测试样品。 是否可以在wordpress mySql db中添加我想要的dbDelta()触发器?
答案 0 :(得分:0)
可以使用以下命令创建mySql中的触发器:
$ SQL =" CREATE TRIGGER brisIspod BEFORE DELETE ON wp_ldd_seminar FOR EACH ROW DELETE FROM wp_ldd_usluga WHERE wp_ldd_usluga.seminar_id = old.id_seminar;&#34 ;;
<强> $ wpdb-&GT;查询强>($ SQL);