我正在尝试创建一个更新某个值的触发器,如果该行不存在,则插入一个值为1的新行。
我用3种可能的方式编写了触发器,所有这些都是错误的
版本1:
CREATE TRIGGER stat_trg BEFORE INSERT ON comments
FOR EACH ROW
BEGIN
INSERT INTO statistics
SET item_id = NEW.item_id,
likes = 0,
comment = 1
ON DUPLICATE KEY UPDATE
SET comment = OLD.comment + 1;
END;
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以获得正确的语法 在第9行'SET comment = OLD.comment + 1'附近
版本2:
CREATE TRIGGER stat_trg AFTER INSERT ON comments
FOR EACH ROW
BEGIN
DECLARE num integer DEFAULT 0;
SELECT comment into num FROM statistics
WHERE item_id = OLD.item_id;
SET num := num + 1;
INSERT INTO statistics (item_id, comment, likes) VALUES (num,1,0)
END;
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近''第4行
版本3:
CREATE TRIGGER stat_trg BEFORE INSERT ON comments
FOR EACH ROW
BEGIN
INSERT INTO statistics (item_id, likes, COMMENT) VALUES (NEW.item_id,0,1)
ON DUPLICATE KEY UPDATE
comment = comment + 1;
END;
1064 - 您的SQL语法出错;检查对应的手册>到你的MySQL服务器版本,以便在第6行的''附近使用正确的语法
根据我发现的例子,一切看起来都很好,我错过了什么? 请帮忙解决这个问题。 感谢。
答案 0 :(得分:0)
请试试这个:
mkdir -m 755 -p /path/outside/webroot
mv create_db.txt /path/outside/webroot
chown -R <user>:<group> /path/outside/webroot