我的SQL版本错误,产生随机数

时间:2018-10-25 06:38:07

标签: mysql syntax-error

在我的本地计算机中,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附近使用(从random_numbers中选择数字)   LIMIT 1;

我的本​​地计算机mysql版本是

  

适用于x86_64上Win64的mysql Ver 8.0.11

在我的服务器上,mysql版本是

  

适用于Linux的mysql Ver 14.14 Distrib 5.6.41

如果有其他选择,请建议我。

0 个答案:

没有答案