在 phpMyAdmin 中创建函数 - 错误:访问被拒绝,您需要超级权限才能执行此操作

2023-12-31

我导入了MySQL数据库。所有表均已成功导入,但函数未成功导入。我执行 SQL 查询的唯一方法是通过 phpMyAdmin 或使用 PHP 脚本(无 SSH)。

以下是要导入的函数的示例:

DELIMITER ;;
/*!50003 DROP FUNCTION IF EXISTS `f_calc_gst` */;;
/*!50003 SET SESSION SQL_MODE=""*/;;
/*!50003 CREATE*/ /*!50020 DEFINER=`journal`@`%`*/ /*!50003 FUNCTION `f_calc_gst`(p_ht decimal(15,3), p_province varchar(2)) RETURNS varchar(255) CHARSET utf8
begin
  declare res varchar(255); 
  declare v_gst decimal(15,3);
  declare v_gst_formula varchar(255);

  select GST, GST_formula
  into v_gst, v_gst_formula
  from taxes_periods
  where NOW() between dt_debut and dt_fin
  and id_province = p_province;

  set v_gst_formula = replace(v_gst_formula, 'HT$', p_ht);
  set v_gst_formula = replace(v_gst_formula, 'GST%', v_gst);

  set res = concat('select round(', v_gst_formula, ',2) "gst"');
  return res;
end */;;

如果我将此代码粘贴到 phpMyAdmin 中,我会收到此错误:#1227 - 访问被拒绝;您需要超级权限才能执行此操作

我尝试删除“/!50003”和“/”取消注释 SQL,但我收到相同的错误消息。

我还尝试不使用任何分隔符并删除“DELIMITER ;;”并得到这个错误:

DROP FUNCTION IF EXISTS f_calc_gst SET SESSION SQL_MODE =  "" CREATE DEFINER =  `journal`@`%` FUNCTION  `f_calc_gst` (

p_ht DECIMAL( 15, 3 ) ,
p_province VARCHAR( 2 )
) RETURNS VARCHAR( 255 ) CHARSET utf8 BEGIN declare res VARCHAR( 255 ) ;

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET SESSION SQL_MODE=""
CREATE DEFINER=`journal`@`%` FUNCTION `f_calc_gst`(p_ht ' at line 2

还尝试过:

    CREATE DEFINER=`journal`@`%` FUNCTION `f_calc_gst`(p_ht decimal(15,3), p_province varchar(2)) RETURNS varchar(255) CHARSET utf8
begin
  declare res varchar(255); 
  declare v_gst decimal(15,3);
  declare v_gst_formula varchar(255);

  select GST, GST_formula
  into v_gst, v_gst_formula
  from taxes_periods
  where NOW() between dt_debut and dt_fin
  and id_province = p_province;

  set v_gst_formula = replace(v_gst_formula, 'HT$', p_ht);
  set v_gst_formula = replace(v_gst_formula, 'GST%', v_gst);

  set res = concat('select round(', v_gst_formula, ',2) "gst"');
  return res;
end//

导致 :

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3 

问题出在 SQL、phpMyAdmin 还是服务器上?


问题是我没有超级权限,但如果我从查询中删除 DEFINER,我就不再需要此权限了。

从 MySQL 5.0.3 开始,CREATE PROCEDURE 和 CREATE FUNCTION 需要 创建例程特权。他们可能还需要超级权限, 取决于 DEFINER 值,如本节后面所述。如果 启用二进制日志记录,CREATE FUNCTION 可能需要 SUPER 特权,如第 18.6 节“存储的二进制日志记录”中所述 程式”。

Also had to set the delimiter field under the SQL text box. phpMyAdmin Delimiter field

这是没有 DEFINER 语句的 SQL 查询:

/*!50003 DROP FUNCTION IF EXISTS `f_calc_gst` */;;
/*!50003 SET SESSION SQL_MODE=""*/;;
/*!50003 CREATE*/ /*!50003 FUNCTION `f_calc_gst`(p_ht decimal(15,3), p_province varchar(2)) RETURNS varchar(255) CHARSET utf8
begin
  declare res varchar(255); 
  declare v_gst decimal(15,3);
  declare v_gst_formula varchar(255);

  select GST, GST_formula
  into v_gst, v_gst_formula
  from taxes_periods
  where NOW() between dt_debut and dt_fin
  and id_province = p_province;

  set v_gst_formula = replace(v_gst_formula, 'HT$', p_ht);
  set v_gst_formula = replace(v_gst_formula, 'GST%', v_gst);

  set res = concat('select round(', v_gst_formula, ',2) "gst"');
  return res;
end */;;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 phpMyAdmin 中创建函数 - 错误:访问被拒绝,您需要超级权限才能执行此操作 的相关文章

随机推荐

  • 在 flutter 中通过 Function(T) 传递泛型类型

    我正在尝试创建一个通用的消费者小部件 以方便其子视图模型 因此我有两个功能 一个在 ViewModel 初始化之后有一个函数 T 另一个用于将模型传递给它的子 Widget 通用类中是 ChangeNotifier 的子级 在我想在两个函数
  • 带有 ActionBarSherlock 的本机 ActionBar selectableItemBackground

    我尝试更改操作栏中所选项目的背景 我使用 ActionBarSherlock 来与旧版 Android 版本兼容 当应用程序在带有 ICS 的设备上运行时 我为我的 Activity 设置了特定主题 这是我目前的风格
  • 变换所有子视图

    我在滚动视图中有一个 UIView 其中包含大约 100 个子视图 子视图看起来都一样 并且是同一类的实例 我有一个要应用于每个子视图的转换 但每次 ZoomScale 改变时 变换都需要改变 将变换应用于所有视图的最佳方法是什么 目前我正
  • 更改 IOS Xamarin Forms 中的开关颜色

    如何在切换 IOS Xamarin Forms 时更改切换按钮的颜色 自定义渲染将仅设置颜色一次 Xamarin 表单切换按钮在 IOS 上的默认颜色 https stackoverflow com questions 38993959 x
  • 如何限制bash中函数中使用的线程/子进程的数量

    我的问题是如何更改此代码 使其仅使用 4 个线程 子进程 TESTS a b c d e for f in TESTS do t RANDOM 5 1 sleep t echo f t done wait 有趣的问题 我尝试使用 xargs
  • 使用 JSON 字符串填充表布局

    我的 Web 服务返回一个 JSON 字符串 如下所示 checkrecord rollno abc2 percentage 40 attended 12 missed 34 Table1 上面的字符串代表我的数据集 我已将字符串转换为 J
  • Fluent NHibernate 集合每个子类表

    我在 Fluent NHibernate 中的继承方面遇到问题 我之前已经设法让 Table Per Subclass 工作 但我无法让基类的集合工作 它正在寻找一个我没有的基类表 这是我的架构 User Id Name Email Use
  • VB.NET - 迭代容器对象中的控件

    我有一个带有 清除 按钮的表单 当用户单击 清除 时 我想清除表单上所有可见元素的值 对于日期控件 我想将它们重置为当前日期 我的所有控件都包含在面板上 现在 我正在使用以下代码执行此操作 有没有比手动检查每种控件类型更简单的方法 这种方法
  • Kubernetes 中被逐出的 Pod 会发生什么?

    我刚刚看到我的一些 pod 被 kubernetes 驱逐 他们会发生什么 就这样闲逛 还是我必须手动删除它们 我使用的一个快速解决方法是在事件发生后手动删除所有被逐出的 Pod 您可以使用此命令 kubectl get pods all
  • Swift:从 url 检索音频文件标记列表?

    我只想获取音频文件中的标记列表 我认为这将是一项简单的常见任务 不会太困难 但是 我几乎找不到任何示例代码或文档 所以我最终得到了以下结果 private func getMarkers url CFURL gt AudioFileMark
  • 打印所有已加载的 Spring bean - Spring Boot

    我怎样才能知道作为我的 Spring Boot 应用程序的一部分加载的所有 Bean 的名称 我希望在 main 方法中有一些代码来打印服务器启动后加载的 bean 的详细信息 如spring boot的入门指南所示 https sprin
  • 是否可以使用 peewee python ORM 对多个字段进行 sql 连接?

    假设我们有这三个模型 class Item BaseModel title CharField class User BaseModel name CharField class UserAnswer BaseModel user Fore
  • Redis 上限排序集、列表或队列?

    有人在 Redis 中实现过任何类型的上限数据结构吗 我正在致力于构建类似新闻源的东西 提要最终会被频繁地操作和读取 将其保存在 Redis 中的排序集中对于我的用例来说是便宜且完美的 唯一的问题是我每个 feed 只需要 n 个项目 而且
  • 为 WCF 设置 Ninject [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有谁有关于如何在 WCF 中设置 Ninject 的明确说明吗 一直在谷歌搜索 但我看不到任何关于如何在 WCF 中使用 Ninject
  • 无法获取特定捐赠者的 searchBook 方法

    该程序的目标是输入书的标题 捐赠者 章节数和位置 从那里 用户输入以下提示 搜索输入捐赠者姓名 我能够将所有这些信息作为输出 然而 我似乎无法弄清楚如何将结果范围缩小到只有一位捐赠者 相反 我的程序打印出条目中列出的所有捐赠者 我在下面列出
  • 在 Android Studio 中更新到 Gradle 3.3.2 时出错:无法解析符号 R

    如果我通过更改来更新 Gradle dependencies classpath com android tools build gradle 3 x x 从版本3 2 1到版本3 3 2我得到了Cannot resolve symbol
  • 加快 django 中的首页加载速度

    当我更新网站上的代码时 我 自然 会重新启动我的 apache 实例 以便更改生效 不幸的是 每个 apache 实例提供的第一个页面在第一次将所有内容加载到 RAM 中时非常慢 对于这个特定站点需要 5 7 秒 后续请求只需要 0 5 1
  • Rspec查看未定义方法stub_model

    我试图找出这段代码有什么问题 即它找不到方法 stub model 试图寻找解决方案 但我到处看看我的文件似乎都很好 请看一下 也许我只是看不到一个简单的错误 多谢 书籍模型是在数据库中创建的 我的视图规范 spec view books
  • NUnit 下 System.Uri 解析无效

    在 ReSharper 下转载 来自 GUI Runner 来自 NUnit Console 测试于 Win 7 Pro 所有更新 Ru ru 语言环境 复制 Windows Server 2012 所有更新 En us 区域设置 复制 尝
  • 在 phpMyAdmin 中创建函数 - 错误:访问被拒绝,您需要超级权限才能执行此操作

    我导入了MySQL数据库 所有表均已成功导入 但函数未成功导入 我执行 SQL 查询的唯一方法是通过 phpMyAdmin 或使用 PHP 脚本 无 SSH 以下是要导入的函数的示例 DELIMITER 50003 DROP FUNCTIO