:mariadb手続きphpmyadminのエラーのphpMyAdminのSQLボックスにストアドプロシージャを作成中に次のエラーを取得
1064 - あなたはあなたのSQL構文でエラーが発生しています。 は 近くを使用する権利構文については、ご使用のMariaDBサーバのバージョンに対応していること取扱説明書を確認してください「)DECLAREのref_idのVARCHAR(10)はBEGIN」行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行目と同じ正確なエラーが表示されます。この答えで間違ったパラメータを実際に修正した後でなければ、区切り文字は重要ではなくなります-semicolonを使用すると、当然構文エラーが発生しますが、3行目に最初のセミコロンが現れるまったく異なるものです。 – elenst