【问题标题】:MySQL Triggers using phpmyadmin使用 phpmyadmin 的 MySQL 触发器
【发布时间】: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 - 你有一个错误...”

【问题讨论】:

    标签: php mysql sql triggers phpmyadmin


    【解决方案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 触发的表中。但它确实回答了我想知道的语法错误
    猜你喜欢
    • 2015-10-16
    • 2011-07-10
    • 2020-07-09
    • 2011-11-16
    • 1970-01-01
    • 2015-08-24
    • 2015-12-02
    • 1970-01-01
    • 2013-07-26
    相关资源
    最近更新 更多