Itu mungkin tetapi masalah Anda adalah, bahwa UPDATE-Query Anda berisi klausa WHERE yang perlu menanyakan bidang setidaknya secara internal. Jadi dimaksudkan bahwa Anda memerlukan izin SELECT di sini.
Jika tidak, seseorang dapat mencoba menggunakan teknik brute force untuk mendapatkan isi tabel yang sebenarnya dengan menggunakan UPDATE-Query dan memeriksa apakah itu telah mempengaruhi baris.
Contoh:PERBARUI pelanggan SET some_irrellevant_field=1 WHERE user ='jimmy' AND sexual_orientation ='2'Segera setelah Anda memiliki jumlah baris yang terpengaruh> 0, Anda akan memiliki informasinya. Jadi akan sangat berbahaya jika membiarkannya.
Tetapi Anda dapat secara eksplisit memberikan izin untuk satu kolom. Katakanlah Anda ingin memperbarui hash kata sandi pengguna dengan id tertentu, Anda memberikan izin pilih pada kolom id ke pengguna database dan perbarui izin ke kolom hash.
Dialog izin khusus tabel PHPMyAdmin (maaf, beberapa bagian tangkapan layar dalam bahasa Jerman):
Maka ini akan berfungsi dengan baik:UPDATE users SET hash='0123456789abcdef' WHERE id =1234
Atau, jika izin tingkat kolom seharusnya tidak tersedia di DBMS atau mesin penyimpanan Anda, Anda masih dapat menggunakan tabel atau database terpisah dan menggabungkannya saat dibutuhkan.