Mysql
REFERENCES 權限僅與創建外鍵約束有關嗎?實際案例?
今天我了解了
GRANT REFERENCES
. 在多年的 SQL 管理和開發工作中,我從未聽說過它,也從未遇到過問題。引自MySQL 5.7 Reference Manual / GRANT Syntax
REFERENCES 啟用外鍵創建。級別:全域、數據庫、表、列。
REFERENCES 要創建外鍵約束,必須對引用列和被引用列都具有此特權。可以為表的所有列或僅特定列授予特權。
只是
GRANT REFERENCES
關於創建外鍵約束?在什麼商業案例中禁止創建外鍵約束(但允許創建表)有意義?你能給我現實世界的例子嗎?
如果您有能力創建外鍵約束,那麼您實際上獲得了檢查表的某個列(或一組列)中某個值是否存在/不存在的權限。您可能沒有權限查看
SELECT
此列中的整個值列表,但您已經可以了解它們。您可以嘗試在引用表上插入值。那些被允許的,你已經知道存在於引用的表中。如果您對這些值一無所知,則不能授予您
foreign key constraint
對列進行 a 的特權。再加上@Erwin 指出的考慮因素,WRT 能夠防止從引用的表中刪除。