在 MySQL 上触发

Posted

技术标签:

【中文标题】在 MySQL 上触发【英文标题】:Trigger on MySQL 【发布时间】:2015-04-06 23:06:07 【问题描述】:

我正在尝试使用 phpMyAdmin 在 mysql 中创建触发器,但我遇到了错误,我无法检测到错误。主要思想是在插入新用户时在 stuffconfig 表中创建一行。

代码:

CREATE TRIGGER create_stuff_and_config 
AFTER INSERT ON user
  FOR EACH ROW
BEGIN
    insert into stuff(user_id) values (NEW.user_id);     
    insert into config(user_id) values(NEW.user_id);
END;

错误:

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 5 行的 '' 附近使用正确的语法

我已经检查了 MySQL 文档,但我觉得我做得很好......

我也试过了:INSERT INTO stuff SET user_id = NEW.user_id;

谢谢!

【问题讨论】:

【参考方案1】:

好的,解决办法是加分隔符……

DELIMITER //
CREATE TRIGGER create_stuff_and_config 
AFTER INSERT ON user
  FOR EACH ROW
BEGIN
    insert into stuff(user_id) values (NEW.user_id);     
    insert into config(user_id) values(NEW.user_id);
END; //
DELIMITER ;

【讨论】:

以上是关于在 MySQL 上触发的主要内容,如果未能解决你的问题,请参考以下文章

无法在 PHPMYADMIN 上创建此 MYSQL 触发器

SQLite - 将 MySQL 触发器转换为在 SQLite 上工作

触发器导致在视图中使用的表上插入后,如何进行 MYSQL 视图更新

MySQL触发器

MySQL触发器

在将安装在许多随机主机上的 PHP 软件中使用 MySQL 触发器是不是安全