Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tạo các hàm trong phpMyAdmin - Lỗi:quyền truy cập bị từ chối, bạn cần có đặc quyền siêu cấp cho thao tác này

Vấn đề là tôi không có siêu đặc quyền nhưng nếu tôi xóa DEFINER khỏi truy vấn, tôi không cần đặc quyền này nữa.

Kể từ MySQL 5.0.3, TẠO THỦ TỤC và TẠO CHỨC NĂNG yêu cầu đặc quyền TẠO ĐƯỜNG TUYẾN. Họ cũng có thể yêu cầu đặc quyền SUPER, tùy thuộc vào giá trị DEFINER, như được mô tả sau trong phần này. Nếu tính năng ghi nhật ký nhị phân được bật, CHỨC NĂNG TẠO có thể yêu cầu đặc quyền, như được mô tả trong Phần 18.6, “Ghi nhật ký nhị phân của chương trình lưu trữ”.

Cũng phải đặt trường dấu phân cách trong hộp văn bản SQL.

Đây là Truy vấn SQL không có câu lệnh DEFINER:

/*!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 */;;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Những hàng nào được trả về khi sử dụng LIMIT với OFFSET trong MySQL?

  2. Hàm MySQL LN () - Trả về Logarit tự nhiên của một số

  3. JSON_CONTAINS () Ví dụ trong MySQL

  4. Cách Chèn dữ liệu từ một bảng cơ sở dữ liệu sang một bảng cơ sở dữ liệu khác trong Mysql

  5. mysql_fetch_array () mong đợi tham số 1 là vấn đề tài nguyên