需要把另外一台服务器上数据库拷贝过来,已知该数据库版本-10.0.22-MariaDB-wsrep;自己这台服务器上数据库版本:10.3.0-MariaDB-10.3.0+maria~xenial-log;使用navicat客户端;
然而遇到一个问题,那就是本地自建naxtval的函数无法使用--执行select naxtval(“databases_name”)报错,具体错误如下:
但是右键函数nextval("it_paper")可以运行出正确结果,且在原来数据库中使用select naxtval(“databases_name”)执行正常;
其中nextval函数创建sql如下:
DROP FUNCTION IF EXISTS `setval`;
DELIMITER ;;
CREATE DEFINER=`root`@`%` FUNCTION `setval`(seq_name VARCHAR(50), VALUE INTEGER) RETURNS int(11)
DETERMINISTIC
BEGIN
UPDATE testp_sequence
SET current_value = VALUE
WHERE NAME = seq_name;
RETURN currval(seq_name);
END
;;
DELIMITER ;
换个函数名称之后也可以正常使用,所以是不是可能因为nextval属于10.3.0-MariaDB的保留函数名呢,谁清楚具体原因呀?