0
私はMySQLのストアドプロシージャについて学んでいますが、作成しようとしているプロシージャではちょっと困ります。私はそれを実行するとMySQLストアドプロシージャ初心者のエラー
CREATE PROCEDURE tag_inserts
(
IN myTag VARCHAR(255),
IN profileID INT(11)
)
BEGIN
INSERT IGNORE INTO tags(tag) VALUES(myTag);
SET @lid = LAST_INSERT_ID();
IF(@lid = 0,
(SELECT tagid FROM tags WHERE tag = myTag),
(INSERT INTO profile_hashtags (pid,tagid) VALUES (profileID,@lid)));
END
、それはあなたがあなたのSQL構文でエラーが発生している私に、次のエラー
を与えています。 INTO profile_hashtags(pid、tagid)VALUES(profileID、@ lid))))))の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルをチェックしてください。 END 'at line 13
ご説明いただきありがとうございます。ここに新しい出力があります。 SQLクエリ: はPROCEDUREのtag_insertsをCREATE(mytagというVARCHAR(255)では、profileIDをINT(11)IN)INSERT、タグ(タグ)INTO( 'mytagという' ) VALUESをIGNORE BEGIN; MySQLが言った:ドキュメント #1064 - SQL構文に誤りがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックして、正しい構文が近くにある行3で使用するようにしてください。 – user3701157
あなたはどのクライアントを使用していますか? Workbench、 'mysql'、phpMyAdmin ...? –
mysqlとMySQL WorkbenchなどのMySQLクライアントの中には、入力時に[DELIMITERディレクティブ](http://dev.mysql.com/doc/refman/5.7/en/mysql-commands.html)を使用する必要があります複合ステートメント。私は上記の私のソリューションにそれらを追加しました。 –