可能ですが、問題は、UPDATE-QueryにWHERE句が含まれていることです。この句は、少なくとも内部的にフィールドをクエリする必要があります。したがって、ここではSELECT権限が必要です。
それ以外の場合は、ブルートフォース手法を使用して、UPDATE-Queryを使用し、行に影響があったかどうかを確認することで、テーブルの実際の内容を取得しようとする可能性があります。
例:UPDATEcustomers SET some_irrellevant_field =1 WHERE user ='jimmy' AND sexual_orientation ='2'影響を受ける行数が0より大きいとすぐに、情報が得られます。したがって、それを許可することはおそらく危険です。
ただし、単一の列に明示的にアクセス許可を与えることができます。特定のIDを持つユーザーのパスワードハッシュを更新するとします。データベースユーザーにid列の選択権限を付与し、ハッシュ列の更新権限を付与します。
PHPMyAdminテーブル固有の権限ダイアログ(申し訳ありませんが、スクリーンショットの一部はドイツ語です):>
その後、これは正常に機能するはずです:UPDATE users SET hash ='0123456789abcdef' WHERE id =1234
または、DBMSまたはストレージエンジンで列レベルの権限を使用できない場合でも、別のテーブルまたはデータベースを使用して、必要に応じて結合することができます。