我有这段代码:
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
我在 Google 上用了大约 2 个小时,但没有任何运气。据我所知,这应该是正确的语法。 请有人帮忙
最佳答案
诸如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 ;
关于mysql - 为什么 SQL 声明失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13585197/