2
获得以下错误,而在phpMyAdmin SQL箱创建存储过程:MariaDB的程序phpmyadmin的错误
1064 - 你在你的SQL语法错误;检查 对应于您MariaDB的服务器版本正确的语法使用手动 近1行
CREATE PROCEDURE get_tree(IN id varchar)
BEGIN
DECLARE ref_id varchar(10);
DECLARE userid varchar(10);
SET userid = id;
SET ref_id='';
SELECT ref_id into ref_id
FROM user WHERE user_id=id ;
create TEMPORARY table IF NOT EXISTS temp_table as (select * from user where 1='');
truncate table temp_table;
WHILE ref_id <> '' DO
insert into temp_table select * from user WHERE user_id=userid;
SET userid = ref_id;
SET ref_id='';
SELECT ref_id into ref_id
FROM user WHERE user_id=userid;
END WHILE;
select * from temp_table;
END
的说明只是为了防止未来的读者从感到困惑。改变分隔符不会解决甚至影响问题中描述的_initial_问题;有或没有它,你仍然会在第1行得到同样的确切错误。只有在你真正修复了错误的参数后(如在这个答案中已经完成),分隔符将变得重要,如果它没有改变为非 - 分号在您的会话中较早,它自然会导致语法错误,但是在第3行显示第一个分号时会出现一个完全不同的语法错误。 – elenst