mysql - 如何在 phpmyadmin 中创建 MySQL 触发器

标签 mysql triggers phpmyadmin

我想在 MySQL 中创建一个触发器。我运行以下命令:

mysql> delimiter //
mysql> CREATE TRIGGER before_insert_money BEFORE INSERT ON money
    -> FOR EACH ROW
    -> BEGIN
    -> UPDATE accounts SET balance=10.0;
    -> END;
    -> //
Query OK, 0 rows affected (0.19 sec)

但是当我在 phpmyadmin 中运行上面的 SQL 时,我得到这个错误:

#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 '' at line 4 

这是怎么回事?如何创建触发器?

最佳答案

这是由于没有像您通过 CLI 那样临时更改分隔符造成的。试试:

CREATE TRIGGER before_insert_money BEFORE INSERT ON money
FOR EACH ROW UPDATE accounts SET balance=10.0;

delimiter //
CREATE TRIGGER before_insert_money BEFORE INSERT ON money
FOR EACH
ROW
BEGIN
    UPDATE accounts SET balance=10.0;
END;
//
delimiter ;

参见:This questionthis question .

关于mysql - 如何在 phpmyadmin 中创建 MySQL 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17869629/

相关文章:

mysql - 为什么我的 mysql DB 可以在 Rails 4 中读取而不更新或插入数据?

Mysql对多个表进行分页

sql - 我是否正确使用触发器?

ubuntu - 错误 2002 使用 Ubuntu 和 XAMPP 在 phpmyadmin 上连接被拒绝

mysql - 期待一个表情。 MySQL

python - cursor.fetchone() 返回一个不在数据库中的值

mysql - MS SQL 临时表缺少字段

php - 使用 Laravel 防止批量准备的原始查询的 SQL 注入(inject)

MySQL使用Select触发IF语句

mysql - 如何退出 mysql 触发器中的一系列 If/else 条件?