使用 phpmyadmin 的 MySQL 触发器
Posted
技术标签:
【中文标题】使用 phpmyadmin 的 MySQL 触发器【英文标题】:MySQL Triggers using phpmyadmin 【发布时间】:2013-11-26 22:11:30 【问题描述】:我正在尝试使用 phpmyadmin 4.0.8 为 mysql 编写一个非常简单的触发器, 我想做的是,在插入一个名为“上传”的表后,我将用户名和 ID 放入另一个名为“评级”的表中
这就是我正在尝试的,
在每行上传插入后创建触发器 copy_pid 开始
INSERT INTO rating (uid,pid) VALUES (NEW.username,NEW.id);
结束;
我收到“#1064 - 你有一个错误...”
【问题讨论】:
【参考方案1】:MySQL 将 INSERT 语句末尾的分号解释为输入的结尾。您需要在设置触发器时更改分隔符:
delimiter $$
CREATE TRIGGER copy_pid AFTER INSERT on upload FOR EACH ROW
BEGIN
INSERT INTO rating (uid,pid) VALUES (NEW.username,NEW.id);
END$$
delimiter ;
【讨论】:
确实可以解决问题!但是......现在当我插入上传时,表格中没有任何内容 这就是我现在正在做的 "DELIMITER // DROP TRIGGER IF EXISTS copy_pid // 在 sc_main.upload 上插入后创建触发器 copy_pid FOR EACH ROW BEGIN INSERT INTO sc_main.rating (uid, pid)值(NEW.username,NEW.id);END" 我没有查看您的触发器实际上在做什么。你的新代码能满足你的需要吗? 不,它只是阻止我插入 this 触发的表中。但它确实回答了我想知道的语法错误以上是关于使用 phpmyadmin 的 MySQL 触发器的主要内容,如果未能解决你的问题,请参考以下文章
更新前的 MySQL 使用 PhpMyAdmin 触发插入语法错误