DELIMITER $$
USE `mydb`$$
DROP FUNCTION IF EXISTS `getval`$$
CREATE DEFINER=`root`@`vfinances-dev.cf88ibo44fqq.ap-south-1.rds.amazonaws.com` FUNCTION `nextval`(`input_name` VARCHAR(100)) RETURNS BIGINT(20)
BEGIN
DECLARE cur_val BIGINT(20);
SELECT value INTO cur_val FROM data WHERE name = input_name;
RETURN cur_val;
END$$
DELIMITER ;
2条答案
按热度按时间agxfikkp1#
--这是我的用户
即使我设法给privillegesforcreate选项,仍然不能创建我的函数我的函数开始如下
xfyts7mz2#
你的问题出在
DEFINER
指令。正如你已经指出的,你的帐户不是这个。。。
…就是这个。。。
在mysql中,帐户是通过用户名和主机模式的组合来标识的。。。你不能指定
DEFINER
作为别人而不是你自己,除非你有SUPER
特权,因为这将是一个完全开放的特权提升攻击向量。拆下
DEFINER
从您的语句中,由于它没有任何用途——定义者在CREATE
语句被执行——或者正确地设置它。