Mengubah Prefix/Awalan Table Database di Adminer

Pada beberapa kasus, kita memerlukan pengubahan awalan atau prefix table pada database. Misalnya ketika migrasi dari suatu webserver/hosting ke tempat berbeda. Bisa juga karena CMS yang digunakan membatasai karakter prefix pada tabel database. Awalan/prefix table pada database ini salah satu manfaatnya adalah untuk mencegah injeksi. Karena pada installasi CMS yang populer, nama tabel mudah ditebak sehingga bisa menimbulkan resiko.

Pengubahan prefix table bisa dengan mudah dilakukan jika kita menggunakan phpmyadmin sebagai pengelola database. Tetapi jika kita menggunakan pengelola database seperti adminer, terdapat minimal 2 langkah untuk melakukannya.

Langkah Pertama
Melalui kolom pada SQL command, ketik perintah berikut.

SET @database  = "databasename";
SET @oldprefix = "oldprefix_";
SET @newprefix = "newprefix_";
 
SELECT
concat(
"RENAME TABLE ",
TABLE_NAME,
" TO ",
replace(TABLE_NAME, @oldprefix, @newprefix),
';'
) AS "SQL" FROM information_schema.TABLES WHERE TABLE_SCHEMA = @database;

Perintah di atas belum mengubah awalan tabel. Output dari perintah di atas berupa beberapa baris perintah untuk mengubah awalan tabel. Kita perlu copy semua baris perintah tersebut untuk langkah berikutnya.

Langkah Kedua
Baris-baris perintah pada output hasil perintah pada langkah pertama, kita paste pada kolom SQL command. Jalankan perintah tersebut. Setelahnya, jika berhasil maka tabel-tabel pada database awalannya akan berubah sesuai perintah yang kita tentukan.

Oleh Opan
Dipostkan December 21, 2023
Seorang guru matematika yang hobi ngeblog dan menulis. Dari ketiganya terwujudlah website ini sebagai sarana berbagi pengetahuan yang saya miliki.

Demi menghargai hak kekayaan intelektual, mohon untuk tidak menyalin sebagian atau seluruh halaman web ini dengan cara apa pun untuk ditampilkan di halaman web lain atau diklaim sebagai karya milik Anda. Tindakan tersebut hanya akan merugikan diri Anda sendiri. Jika membutuhkan halaman ini dengan tujuan untuk digunakan sendiri, silakan unduh atau cetak secara langsung.