Mysql创建触发器1064错误

标签 mysql triggers mysql-error-1064

我写的sql

**delimiter |
CREATE 
DEFINER=CURRENT_USER 
TRIGGER set_profiletype_after_insert BEFORE INSERT ON trl_translator FOR EACH ROW 
BEGIN 
UPDATE trl_profile SET trl_profile.type = 'translator' WHERE trl_profile.profile_id = NEW.translator_id
END 
|
delimiter ;**

给出的错误

[SQL] 
**CREATE 
DEFINER=CURRENT_USER 
TRIGGER set_profiletype_after_insert BEFORE INSERT ON trl_translator FOR EACH ROW 
BEGIN 
UPDATE trl_profile SET trl_profile.type = 'translator' WHERE trl_profile.profile_id = NEW.translator_id
END 
;
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 6**

如何解决这个问题?我的错误在哪里?

最佳答案

看起来您只需要用分号终止 UPDATE 语句即可。

关于Mysql创建触发器1064错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3900570/

相关文章:

php - 如果字段留空,则无法执行 PHP SQL 查询

用于级联删除的 MYSQL 触发器 : Workaround needed

mysql - 尝试查看表时 MySQL 命令行客户端出现 1064 错误,但在 MySQL Workbench 中工作正常

mysql - 转置部分 SQL 结果以合并记录

mysql - 尝试在 AWS EC2 Amazon Linux 上安装 mysql-server,但出现问题 : conflicting requests

mysql - 创建触发器语法错误

MYSQL 语法错误有两个 WHERE

mysql - 如何在MySQL中解析 "used command not allowed"?

mysql - SQL- 计算 'similar' 行的数量并将结果放在另一个表中

mysql - INSERT 后触发到 INCREMENT