Sudah tahukah Anda bila import table view di hosting berbeda caranya dengan cara melakukan import table biasa? Bila Anda belum mengetahuinya, maka Anda wajib menyimak artikel cara import table view di phpMyAdmin berikut.
Artikel ini kami tulis dengan harapan dapat menjawab pertanyaan anda, tentang penyebab gagalnya import table view di hosting. Perlu diketahui, untuk melakukan import table view di hosting, Anda perlu melakukan sedikit perubahan pada query sql-nya. Makin penasaran kan?
Sebelum ke inti permasalahan, alangkah baiknya bila kita mengenal terlebih dahulu apa itu table view, tujuan pembuatan view dan contoh view database.
Apa itu Table View
Saat bekerja dengan database, seringkali kita memerlukan informasi yang berasal dari beberapa kolom yang berada di beberapa table. Anda bisa saja menulis query databasenya secara manual di setiap kali pemanggilan. Namun bila Anda memerlukan query tersebut untuk dijalankan beberapa kali, maka membuat table view adalah solusinya.
Jadi, table view adalah table virtual (table custom) yang berasal dari gabungan atau relasi dari beberapa table sehingga menampilkan data sesuai kebutuhan.
Table view bersifat up to date. Ini berarti, apabila ada perubahan di isi table utama yang menjadi rujukannya, maka hasil data terbarunya dapat dilihat melalui table view. Dalam membuat view, Anda juga bisa menambahkan kondisi seperti ‘where’.
Tujuan dari pembuatan View
Pembuatan table view bertujuan untuk kenyamanan dan memudahkan kita dalam penulisan query dengan lebih sederhana, apalagi query tersebut perlu dijalankan berulang. Table view juga bertujuan untuk keamanan dengan menyembunyikan beberapa kolom yang bersifat rahasia.
Cara Import Table View
Sebagaimana yang pernah kami singgung diatas, cara import table view dihosting sedikit berbeda dengan cara import table biasa. Anda perlu melakukan perubahan sedikit pada querynya. Contoh error yang muncul biasanya akan menjadi seperti ini:
Jika Anda pernah mengalami kegagalan import database di phpMyAdmin seperti gambar diatas, maka anda perlu mengubah query SQL-nya terlebih dahulu.
Contoh Query SQL Table View di Localhost
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `db_googlemap`.`view_informasi` AS select `info`.`id_info` AS `id_info`,`db_googlemap`.`tbl_provinsi`.`nama_prov` AS `nama_prov`,`db_googlemap`.`tbl_bencana`.`nama_bencana` AS `nama_bencana`,`info`.`tgl` AS `tgl`,`info`.`waktu` AS `waktu`,`info`.`lokasi` AS `lokasi`,`info`.`korban` AS `korban`,`info`.`penyebab` AS `penyebab`,`info`.`kerusakan` AS `kerusakan`,`info`.`penanganan` AS `penanganan`,`info`.`foto` AS `foto`,`info`.`jenis` AS `jenis`,`info`.`lat` AS `lat`,`info`.`lng` AS `lng` from ((`db_googlemap`.`tbl_informasi` `info` join `db_googlemap`.`tbl_bencana`) join `db_googlemap`.`tbl_provinsi`) where ((`info`.`id_prov` = `db_googlemap`.`tbl_provinsi`.`id_prov`) and (`info`.`id_bencana` = `db_googlemap`.`tbl_bencana`.`id_bencana`));
Query SQL tersebut akan gagal ketika di import atau di eksekusi dari PHPMyAdmin cPanel karena ketika menjalankan PHPMyAdmin, status user Anda bukan root melainkan user cPanel. Solusinya :
- Silahkan ubah “root” menjadi “usercpanel”.
- Sesuaikan Nama Database. Contoh dari “db_googlemap” silakan diubah menjadi “usercpanel_db_googlemap”
Penting :
* usercpanel adalah user cPanel hosting Anda.
Contoh Query SQL Table View Yang Siap di Import ke Hosting
Berikut adalah contoh query SQL Table view yang sudah siap di import ke hosting Anda.
CREATE ALGORITHM=UNDEFINED DEFINER=`usercpanel`@`localhost` SQL SECURITY DEFINER VIEW `usercpanel_db_googlemap`.`view_informasi` AS select `info`.`id_info` AS `id_info`,`usercpanel_db_googlemap`.`tbl_provinsi`.`nama_prov` AS `nama_prov`,`usercpanel_db_googlemap`.`tbl_bencana`.`nama_bencana` AS `nama_bencana`,`info`.`tgl` AS `tgl`,`info`.`waktu` AS `waktu`,`info`.`lokasi` AS `lokasi`,`info`.`korban` AS `korban`,`info`.`penyebab` AS `penyebab`,`info`.`kerusakan` AS `kerusakan`,`info`.`penanganan` AS `penanganan`,`info`.`foto` AS `foto`,`info`.`jenis` AS `jenis`,`info`.`lat` AS `lat`,`info`.`lng` AS `lng` from ((`usercpanel_db_googlemap`.`tbl_informasi` `info` join `usercpanel_db_googlemap`.`tbl_bencana`) join `usercpanel_db_googlemap`.`tbl_provinsi`) where ((`info`.`id_prov` = `usercpanel_db_googlemap`.`tbl_provinsi`.`id_prov`) and (`info`.`id_bencana` = `usercpanel_db_googlemap`.`tbl_bencana`.`id_bencana`));
Penutup
Table view adalah table virtual (table custom) yang berasal dari gabungan atau relasi dari beberapa table, sehingga menampilkan data sesuai kebutuhan anda. Table view ini biasanya menggunakan privilege root server, sehingga bila anda menggunakan layanan shared hosting, table ini tidak bisa di upload secara langsung. Anda perlu mengubah user privilege-nya, dari root menjadi user cPanel.