生成随机数的mysql版本错误

bnlyeluc  于 2021-06-18  发布在  Mysql
关注(0)|答案(0)|浏览(227)

在我的本地计算机中,mysql没有语法错误地跟随sp工作。

REATE DEFINER=`root`@`localhost` PROCEDURE `createAccountNumber`(IN origin_type_id INT,IN membership_type_id INT)
BEGIN
DECLARE random_number,account_number Varchar(19) DEFAULT NULL;

SELECT FLOOR(RAND() * (9999999-1000000+1)+1000000) INTO random_number
WHERE 'number' NOT IN (SELECT number FROM random_numbers)
LIMIT 1;

INSERT INTO random_numbers VALUES(random_number);

 SET @acc = CONCAT('100000',(select cast(origin_type_id as nchar)), (select cast(membership_type_id as nchar)), (select cast(random_number as nchar)));
 SET @x= luhn_sum(@acc);

SET account_number = CONCAT(@acc,@x);

 SELECT account_number;

END

但是在服务器上它给出了以下错误
操作失败:将sql脚本应用于数据库时出错。错误1064:您的sql语法有错误;请查看与您的mysql服务器版本相对应的手册,以获得正确的语法,以便在“where”number“not in(select number from random\ u numbers)limit 1附近使用;
我的本地计算机mysql版本是
用于x86\u 64上的win64的mysql 8.0.11版
在我的服务器mysql版本是
mysql版本14.14发行版5.6.41,linux版
如果有别的选择,请告诉我。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题