我需要在 PHP 中运行一个数据库创建脚本。使用 multi_query 我发现触发器分隔符有一些问题:
$sql="
CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT);
DELIMITER ;;
CREATE TRIGGER `tr_insert_test` AFTER INSERT ON `test` FOR EACH ROW BEGIN UPDATE log SET dirty = 1 WHERE data = DATE(NEW.emissione); END;;
DELIMITER ;";
$mysqli->multi_query($sql);
有了这个我得到:
你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 'DELIMITER ;; 附近使用正确的语法 tr_insert_test
在第 1 行插入“测试”后创建触发器
如果我在 phpmyadmin 中尝试相同的脚本,它可以工作......你能告诉我为什么吗?谢谢