mysql - 无法正确获取Mysql触发语句

标签 mysql triggers

有人可以告诉我这个触发语句有什么问题吗?

DELIMITER //

CREATE TRIGGER something AFTER INSERT ON sometable
FOR EACH ROW
BEGIN
DECLARE var INT DEFAULT 0;
SET var = SELECT COUNT(*) FROM anothertable;
IF var=0 THEN
INSERT INTO anothertable values(`x`,`y`,`z`);
END IF;
END//

我不断收到错误消息,说我有语法错误...

最佳答案

尝试将 SELECT 语句放在括号内:

DELIMITER //

CREATE TRIGGER something AFTER INSERT ON sometable
FOR EACH ROW
BEGIN
    DECLARE var INT DEFAULT 0;
    SET var = (SELECT COUNT(*) FROM anothertable);
    IF var=0 THEN
        INSERT INTO anothertable values('x','y','z');
   END IF;
END//

关于mysql - 无法正确获取Mysql触发语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9431527/

相关文章:

mysql - 使用 MySQL-cluster 存储的表数据到底存储在哪里?

MySQL将一个字段统计成两个不同的统计结果

php - MAMP 中缺少 mysql 扩展

mysql - 创建触发器语法错误

mysql - 触发器-mysql

sql 检测更新触发器(sql server 2005)中修改的字段?

mysql - SQL。多列计数的性能

PHP 单独的 If else 语句

google-apps-script - 如何在 Google 脚本代码中将脚本更改为 AuthMode.LIMITED?

SQL 触发器以插入的值作为参数调用存储过程