[英]MySQL basic trigger - not working
I'm trying to create following trigger: 我正在尝试创建以下触发器:
CREATE TRIGGER clean
AFTER INSERT ON `mecze_druzyny`
begin
DELETE * FROM bramki;
END;
DELIMITER ;
Which should be ran just after following: 应该在执行以下操作后运行:
$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();
Unfortunately I'm getting an error: 不幸的是我遇到一个错误:
1064 - You have an error in your SQL syntax;
1064-您的SQL语法有误; check the manual that corresponds to your MySQL server version for the right syntax to use near 'begin DELETE * FROM bramki' at line 3
检查与您的MySQL服务器版本相对应的手册,以在第3行的'begin DELETE * FROM bramki'附近使用正确的语法
It's an error with your delete syntax. 您的删除语法有误。
Get rid of the * so you're left with 摆脱*,让您留下
DELETE FROM bramki
A typical delete will be in the format 典型的删除将采用以下格式
DELETE FROM TableName WHERE ...
-- the WHERE clause is optional here DELETE FROM TableName WHERE ...
WHERE子句在此处是可选的
Add Delimiters to make it correct. 添加定界符以使其正确。 Here is the correct syntax to do so:
这是正确的语法:
DELIMITER //
CREATE TRIGGER clean
AFTER INSERT
ON mecze_druzyny FOR EACH ROW
BEGIN
DELETE FROM bramki;
END; //
DELIMITER ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.