Jest to możliwe, ale twoim problemem jest to, że twoje zapytanie UPDATE zawiera klauzulę WHERE, która wymaga przynajmniej wewnętrznego zapytania o pola. Dlatego zakłada się, że potrzebujesz tutaj uprawnienia SELECT.
W przeciwnym razie można spróbować użyć technik brute force, aby uzyskać rzeczywistą zawartość tabeli, używając UPDATE-Query i sprawdzając, czy ma to wpływ na wiersze.
Przykład:UPDATE klienci SET some_irrellevant_field=1 WHERE user ='jimmy' AND sexual_orientation ='2'Jak tylko liczba wierszy, których dotyczy problem, będzie> 0, otrzymasz informacje. Więc prawdopodobnie byłoby to zbyt niebezpieczne.
Ale możesz jawnie nadać uprawnienia do pojedynczych kolumn. Powiedzmy, że chcesz zaktualizować skrót hasła użytkownika o określonym identyfikatorze, dajesz uprawnienia wyboru w kolumnie identyfikatora użytkownikowi bazy danych i aktualizujesz uprawnienia do kolumny skrótu.
Okno dialogowe uprawnień dla tabeli PHPMyAdmin (przepraszamy, niektóre części zrzutów ekranu są w języku niemieckim):
To powinno działać poprawnie:UPDATE users SET hash='0123456789abcdef' WHERE id =1234
Alternatywnie, jeśli uprawnienia na poziomie kolumny nie powinny być dostępne w twoim DBMS lub silniku pamięci masowej, możesz nadal użyć oddzielnej tabeli lub bazy danych i dołączyć do niej, gdy jest to potrzebne.