脚本宝典收集整理的这篇文章主要介绍了通过PHP创建mysql触发器?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
$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 .
谢谢!
$cat i.PHP <?PHP $MysqLi = new MysqLi('localhost','test','','test'); $sql = " CREATE TRIGGER `_foo_fulltext_update` AFTER UPDATE ON `foo` FOR EACH ROW BEGIN DELETE FROM `bar` WHERE `bar`=NEW.`bar`; INSERT INTO `bar` (bar) SELECT bar FROM `foo` WHERE `bar`=NEW.`bar`; END; "; $MysqLi->query($sql); var_dump($MysqLi->error); $PHP i.PHP string(0) "" $MysqL MysqL> use test; Database changed MysqL> show triggers\G *************************** 1. row *************************** Trigger: _foo_fulltext_update Event: UPDATE Table: foo statement: BEGIN DELETE FROM `bar` WHERE `bar`=NEW.`bar`; INSERT INTO `bar` (bar) SELECT bar FROM `foo` WHERE `bar`=NEW.`bar`; END Timing: AFTER Created: NULL sql_mode: definer: root@localhost character_set_client: latin1 collation_connection: latin1_swedish_ci Database Collation: utf8_general_ci 1 row in set (0.00 sec)
以上是脚本宝典为你收集整理的通过PHP创建mysql触发器?全部内容,希望文章能够帮你解决通过PHP创建mysql触发器?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。