这可能会遇到一个简单的问题,但我对关系数据库的经验非常有限。我如何在MySQL中调整权限?举例来说,如果我有下面的代码MySQL中的密码和权限
CREATE TABLE IF NOT EXISTS user(
ID INT NOT NULL AUTO_INCREMENT,
//...other columns
PRIMARY KEY(ID)
)ENGINE=InnoDB
CREATE TABLE IF NOT EXISTS pictures
(
ID INT NOT NULL AUTO_INCREMENT,
userID INT NOT NULL,
//...other columns
PRIMARY KEY(ID),
FOREIGN KEY (userID) REFERENCES user(ID)
)ENGINE=InnoDB";
,我创建两个新用户,user1
和user2
,我可以给他们的权限表这样
GRANT ALL PRIVILIGES ON db_name.* to ".user1."@\"%\" identified by ".pass1
GRANT ALL PRIVILIGES ON db_name.* to ".user2."@\"%\" identified by ".pass2
,但有没有什么地方限制表内的特权仅限于特定的子集?我应该在我的PHP代码中执行此操作吗?我习惯于面向对象的编程,所以我不习惯于拥有所有信息的大型表格。
你想要访问特定的表或列吗? – Zimbabao 2011-03-24 02:59:52
对不起,我的意思是特定的行。很明显,在那个例子中,你不希望'user1'访问属于'user2'的'pictures'表中的行。 MySQL是否提供了操作来处理这个问题,还是我必须在php – puk 2011-03-24 03:05:18