SQL 第 2 行的语法错误
SQL syntax error at line 2
CREATE TRIGGER `pmtct` AFTER INSERT ON `survey_data` FOR EACH ROW BEGIN
UPDATE pmtct_cascade SET PY5Q1=(SELECT SUM(p1q5)) WHERE id=1;
END
正在尝试创建一个触发器来更新 PY5Q1,其中 id=1 in pmtct_cascade table 与来自 survey_data table 的 p1q5 列之和
有帮助吗?
您需要一个不同的分隔符。
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 ;
否则数据库将在第一个 ;
处终止您的语句,这会使它不完整。
而且您的子查询也不完整。
试试这个
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
CREATE TRIGGER `pmtct` AFTER INSERT ON `survey_data` FOR EACH ROW BEGIN
UPDATE pmtct_cascade SET PY5Q1=(SELECT SUM(p1q5)) WHERE id=1;
END
正在尝试创建一个触发器来更新 PY5Q1,其中 id=1 in pmtct_cascade table 与来自 survey_data table 的 p1q5 列之和 有帮助吗?
您需要一个不同的分隔符。
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 ;
否则数据库将在第一个 ;
处终止您的语句,这会使它不完整。
而且您的子查询也不完整。
试试这个
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