Je to možné, ale váš problém je, že váš UPDATE-Query obsahuje klauzuli WHERE, která potřebuje pole dotazovat alespoň interně. Předpokládá se tedy, že zde potřebujete oprávnění SELECT.
V opačném případě byste se mohli pokusit použít techniky hrubé síly k získání skutečného obsahu tabulky pomocí UPDATE-Query a ověření, zda to ovlivnilo řádky.
Příklad:UPDATE customers SET some_irrellevant_field=1 WHERE user ='jimmy' AND sexual_orientation ='2'Jakmile budete mít ovlivněný počet řádků> 0, budete mít informace. Bylo by tedy možná příliš nebezpečné to dovolit.
Ale můžete explicitně udělit oprávnění pro jednotlivé sloupce. Řekněme, že chcete aktualizovat hash hesla uživatele s určitým id, udělíte výběrové oprávnění pro sloupec id uživateli databáze a aktualizujete oprávnění ke sloupci hash.
Dialog oprávnění pro konkrétní tabulku PHPMyAdmin (omlouvám se, některé části snímků obrazovky jsou v němčině):
Pak by to mělo fungovat dobře:UPDATE users SET hash='0123456789abcdef' WHERE id =1234
Alternativně, pokud by oprávnění na úrovni sloupců neměla být k dispozici ve vašem DBMS nebo úložišti, můžete stále použít samostatnou tabulku nebo databázi a připojit se k ní, když to bude potřeba.