MySQL基本触发器 - 不工作

时间:2015-07-28 17:26:57

标签: php mysql

我正在尝试创建以下触发器:

CREATE TRIGGER clean
AFTER INSERT ON `mecze_druzyny`
begin
DELETE * FROM bramki;
END;
DELIMITER ;

应该在以下之后运行:

$sql2 = "INSERT INTO mecze_druzyny (id_druzyny, id_meczu, gospodarz) VALUES (
        :team2, 
        :lastmatch, 
        :gospodarz)";

$stmt = $db->prepare($sql2);
$stmt->bindParam(':team2', $id2, PDO::PARAM_INT);       
$stmt->bindParam(':lastmatch', $last_match, PDO::PARAM_INT); 
$stmt->bindParam(':gospodarz', $a=0, PDO::PARAM_STR);
$stmt->execute(); 

不幸的是我收到了一个错误:

  

1064 - 您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在'begin附近使用正确的语法       在第3行删除*来自bramki'

2 个答案:

答案 0 :(得分:1)

删除语法时出错。

摆脱*,以便

离开

DELETE FROM bramki

典型的删除格式为

DELETE FROM TableName WHERE ... - WHERE子句在这里是可选的

答案 1 :(得分:0)

添加分隔符以使其正确无误。这是正确的语法:

DELIMITER //

CREATE TRIGGER clean
AFTER INSERT
   ON mecze_druzyny FOR EACH ROW

BEGIN

DELETE  FROM bramki;

END; //

DELIMITER ;