2

私はこのコードを持っています:

BEGIN
    DECLARE @NewLine CHAR(2)
    SET @NewLine = CHAR(13)+CHAR(10)
END

phpmyadminで実行すると、次のエラーが発生します。

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE @NewLine CHAR(2) SET @NewLine = CHAR(13) + CHAR(10) END' at line 2

私はグーグルで約2時間使用しましたが、運がありませんでした。私が知る限り、それは正しい構文でなければなりません。誰か助けてください

4

1 に答える 1

3

IF、などのフローステートメントはWHEN、MySQLのストアドプロシージャまたは関数でのみ許可されます。BEGINおよびENDは、そのようなステートメントの区切り文字です。

そのコードをプロシージャに入れると、機能するはずです。

編集

手順例

DELIMITER // 
CREATE PROCEDURE newline_proc(input varchar(1000))
BEGIN
  declare newline char(2);
  select CHAR(13)+CHAR(10) into newline;
  ...
END//
DELIMITER ;
于 2012-11-27T13:33:34.877 に答える