MySQL,只允许某些类型的用户能够改变字段

时间:2013-02-03 14:08:55

标签: mysql

我正在为一个简单的系统创建一个数据库。此问题的两个相关表是用户和类别。它们设置如下:

用户:UserId(Pk),用户名,用户类型,名字等。

分类:CategoryId(Pk),Name,UserId(Fk)

我已将“用户类型”设置为“枚举”,并且只能包含值admin,moderator或regular。我希望这样做只有类型为admin的用户才能添加类别表。

有没有办法可以做到这一点?

由于

2 个答案:

答案 0 :(得分:0)

如果您的用户不是MySQL用户,我认为他们不是,那么这不是MySQL,而是与MySQL连接的程序,即:PHP。在将更改提交到“受限制”表之前,您应该进行适当的检查。

答案 1 :(得分:0)

根据我的理解,你必须处理特权。 查看页面https://dev.mysql.com/doc/refman/5.5/en/privilege-system.htmlhttp://dev.mysql.com/doc/refman/5.0/en/privileges-provided.html

我们有GRANT语句为用户提供权限

这是一个简单的例子: 如果要指定用户kim从localhost到表的唯一选择权限 用户,

GRANT选择dbname.users为'kim'@'localhost'标识为'password'

指定任何用户的所有权限

将dbname.users全部授予“root”@“localhost”,由'pass'标识

检查任何特定用户的权限

使用:show grants [for user ]

括号内的东西是可选的,用户在某种意义上是一个有效的用户,比如'root'@'%'