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 回答