Có thể nhưng vấn đề của bạn là CẬP NHẬT-Truy vấn của bạn chứa mệnh đề WHERE cần phải truy vấn các trường ít nhất là nội bộ. Vì vậy, mục đích là bạn cần quyền CHỌN ở đây.
Nếu không, người ta có thể thử sử dụng kỹ thuật brute force để lấy nội dung thực tế của bảng bằng cách sử dụng CẬP NHẬT-Truy vấn và kiểm tra xem nó có ảnh hưởng đến các hàng hay không.
Ví dụ:CẬP NHẬT khách hàng SET some_irrellevant_field =1 WHERE user ='jimmy' AND sex_orientation ='2'Khi bạn có số hàng bị ảnh hưởng> 0, bạn sẽ có thông tin. Vì vậy, sẽ rất nguy hiểm nếu cho phép điều đó.
Nhưng bạn có thể cấp quyền một cách rõ ràng cho các cột đơn. Giả sử bạn muốn cập nhật mã băm mật khẩu của người dùng với một id nhất định, bạn cấp quyền chọn trên cột id cho người dùng cơ sở dữ liệu và quyền cập nhật cho cột băm.
Hộp thoại cho phép bảng PHPMyAdmin cụ thể (xin lỗi, một số phần của ảnh chụp màn hình bằng tiếng Đức):
Sau đó, điều này sẽ hoạt động tốt:CẬP NHẬT người dùng SET hash ='0123456789abcdef' WHERE id =1234
Ngoài ra, nếu quyền cấp cột không có sẵn trong DBMS hoặc công cụ lưu trữ của bạn, bạn vẫn có thể sử dụng một bảng hoặc cơ sở dữ liệu riêng biệt và kết hợp nó khi cần thiết.