Rumah  >  Artikel  >  pangkalan data  >  Mengapa Saya Mendapat \"Ralat: Akses Ditolak; anda memerlukan keistimewaan SUPER untuk operasi ini\" Apabila Mencipta Fungsi dalam phpMyAdmin?

Mengapa Saya Mendapat \"Ralat: Akses Ditolak; anda memerlukan keistimewaan SUPER untuk operasi ini\" Apabila Mencipta Fungsi dalam phpMyAdmin?

Susan Sarandon
Susan Sarandonasal
2024-10-31 17:13:30985semak imbas

Why Am I Getting

Ralat: Akses Ditolak: Mencipta Fungsi dalam phpMyAdmin

Apabila melaksanakan pertanyaan SQL untuk mencipta fungsi dalam phpMyAdmin, pengguna mungkin menghadapi "Ralat: Akses ditolak; anda memerlukan keistimewaan SUPER untuk operasi ini". Ralat ini berpunca daripada keperluan keistimewaan.

Mengenal pasti Masalah

Dua isu utama boleh menyebabkan ralat ini:

  1. Tiada Keistimewaan CREATE ROUTINE: MySQL 5.0.3 dan ke atas memerlukan keistimewaan CREATE ROUTINE untuk melaksanakan CREATE PROCEDURE dan CREATE FUNCTION pertanyaan.
  2. DEFINER Sekatan: Atribut DEFINER sendiri menentukan prosedur atau fungsi yang disimpan. Jika DEFINER ditetapkan kepada pengguna terhad, pemanggil mesti mempunyai keistimewaan SUPER untuk mencipta objek.

Penyelesaian

Alih keluar Atribut DEFINER :

Untuk menghapuskan keperluan untuk keistimewaan SUPER, alih keluar atribut DEFINER daripada pertanyaan SQL. Ini memberikan pemilikan fungsi kepada pengguna semasa.

<code class="sql">CREATE FUNCTION `f_calc_gst`(p_ht decimal(15,3), p_province varchar(2)) RETURNS varchar(255) CHARSET utf8
...</code>

Tetapkan Medan Pembatas dalam phpMyAdmin:

Sebelum melaksanakan pertanyaan yang diubah suai, pastikan medan pembatas adalah tetapkan dengan betul di bawah kotak teks SQL dalam phpMyAdmin.

Nota Tambahan:

  • Pengelogan binari mungkin memerlukan keistimewaan SUPER.
  • Sebaik sahaja fungsi dicipta, pengguna boleh memberikan keistimewaan khusus kepada pengguna atau peranan lain.

Atas ialah kandungan terperinci Mengapa Saya Mendapat \"Ralat: Akses Ditolak; anda memerlukan keistimewaan SUPER untuk operasi ini\" Apabila Mencipta Fungsi dalam phpMyAdmin?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn