当前位置: 代码迷 >> ASP.NET >> mysql的语法异常
  详细解决方案

mysql的语法异常

热度:5444   发布时间:2013-02-25 00:00:00.0
mysql的语法错误
DELIMITER $$

CREATE FUNCTION createnames()
RETURNS VARCHAR(20);
BEGIN
DECLARE a,b,c INT;
DECLARE val,aaa,bbb,ccc VARCHAR(20);

SELECT createindex() INTO a;
SELECT createindex() INTO b;
SELECT createindex() INTO c;

SELECT aaa:=NCHAR(CAST(19968+a AS INT));
SELECT bbb:=NCHAR(CAST(19968+b AS INT));
SELECT ccc:=NCHAR(CAST(19968+c AS INT));

SET val=CONVERT( VARCHAR(20),aaa+bbb+ccc );

RETURN val;
END

END$$


createindex() 函数如下
DELIMITER $$

USE `test`$$

DROP FUNCTION IF EXISTS `createindex`$$

CREATE DEFINER=`root`@`localhost` FUNCTION `createindex`() RETURNS INT(11)
BEGIN
DECLARE c INT;
SET c=RAND()*20902;
IF (c<40870) THEN
RETURN (c);
END IF;
END$$

DELIMITER ;

在mysql里执行第一个函数提示有语法错误,请高手帮忙找一下错误!!!

------解决方案--------------------------------------------------------
你应该发到
php
或者
mysql版

------解决方案--------------------------------------------------------
把赋值语句都改成set x = (xxx)这样的看下呢
  相关解决方案