我正在尝试创建以下触发器:
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'
答案 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 ;