Mysql 第2行的SQL语法错误
正在尝试创建一个触发器,用survey_数据表中p1q5列的和更新pmtct_级联表中的PY5Q1,其中id=1Mysql 第2行的SQL语法错误,mysql,sql,triggers,Mysql,Sql,Triggers,正在尝试创建一个触发器,用survey_数据表中p1q5列的和更新pmtct_级联表中的PY5Q1,其中id=1 有什么帮助吗?您需要一个不同的分隔符 CREATE TRIGGER `pmtct` AFTER INSERT ON `survey_data` FOR EACH ROW BEGIN UPDATE pmtct_cascade SET PY5Q1=(SELECT SUM(p1q5)) WHERE id=1; END 否则DB将在第一次时终止您的语句这将使其不完整 您的子查询也不完整。试
有什么帮助吗?您需要一个不同的分隔符
CREATE TRIGGER `pmtct` AFTER INSERT ON `survey_data` FOR EACH ROW BEGIN
UPDATE pmtct_cascade SET PY5Q1=(SELECT SUM(p1q5)) WHERE id=1;
END
否则DB将在第一次时终止您的语句代码>这将使其不完整
您的子查询也不完整。试试这个
delimiter |
CREATE TRIGGER `pmtct` AFTER INSERT ON `survey_data`
FOR EACH ROW
BEGIN
UPDATE results
SET PY5Q1 = (SELECT SUM(p1q5) from survey)
WHERE id = 1;
END
|
delimiter ;
这就是我试图更新答案的原因。谢谢你的输入,伙计。你应该为你的代码片段添加一个解释,这样OP就可以学习而不是复制粘贴。
CREATE TRIGGER `pmtct`AFTER INSERT ON `survey_data` FOR EACH ROW BEGIN UPDATE pmtct_cascade SET PY5Q1=(SELECT SUM(p1q5) FROM survey_data) WHERE id=1;
END