【发布时间】:2010-10-12 22:49:22
【问题描述】:
尝试在 mysql 中创建存储过程时,我很难找到错误。
如果我独立运行程序的每一行,一切都会正常运行。
CREATE PROCEDURE cms_proc_add_child
(
param_parent_id INT, param_name CHAR(255),
param_content_type CHAR(255)
)
BEGIN
SELECT @child_left := rgt FROM cms_tree WHERE id = param_parent_id;
UPDATE cms_tree SET rgt = rgt+2 WHERE rgt >= @child_left;
UPDATE cms_tree SET lft = lft+2 WHERE lft >= @child_left;
INSERT INTO cms_tree (name, lft, rgt, content_type) VALUES
(
param_name,
@child_left,
@child_left+1,
param_content_type
);
END
我收到以下(有用的)错误:
ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的 '' 附近使用正确的语法
我只是不知道从哪里开始调试,因为这些行中的每一行都是正确的。
你有什么建议吗?
【问题讨论】: