4

訪問I創建存儲過程在下面的代碼存儲過程插入的值不能被其它MySQL用戶

CREATE DEFINER=`john`@`%` PROCEDURE `new_type`(IN typ_id int(11), `typ_name` varchar(100)) 
BEGIN 
INSERT INTO user_type (`typ_id`,`typ_name`,`usr_id`) VALUES (typ_id,usr_typ_name,usr_id) 
    ON DUPLICATE KEY UPDATE `typ_name` = VALUES(typ_name), 
    `usr_id` = VALUES(usr_id); 
END 

的插入和更新工作良好。關於選擇的問題,我在MYSQL中有兩個用戶帳戶。由約翰和他創建的程序只具有該數據庫的訪問權限。另一個名爲'Admin'的用戶名稱,他擁有所有數據庫的所有訪問權限。選擇查詢的結果是各種各樣的。看到這個例子。

對於管理員

1 '管理',的結果 '4'

2 '管理器', '5'

3 '司', '6'

對於John的結果

1'Ad分, '4'

2 '管理器', '5'

3 '司', '6'

4 '用戶', '7'

5「協助馬傑」, '8'

爲什麼管理員用戶沒有得到'用戶', '輔助馬傑'

回答

2

如果你想與G如果您需要完全訪問管理員用戶,那麼您需要給grant all privileges

SQL GRANT是一種命令,用於爲用戶提供對數據庫對象的訪問權限或特權。

GRANT ALL PRIVILEGES ON database.* TO 'admin'@'localhost'; 

我認爲這對你有幫助。