我正在为一个简单的系统创建一个数据库。此问题的两个相关表是用户和类别。它们设置如下:
用户:UserId(Pk),用户名,用户类型,名字等。
分类:CategoryId(Pk),Name,UserId(Fk)
我已将“用户类型”设置为“枚举”,并且只能包含值admin,moderator或regular。我希望这样做只有类型为admin的用户才能添加类别表。
有没有办法可以做到这一点?
由于
答案 0 :(得分:0)
如果您的用户不是MySQL用户,我认为他们不是,那么这不是MySQL,而是与MySQL连接的程序,即:PHP。在将更改提交到“受限制”表之前,您应该进行适当的检查。
答案 1 :(得分:0)
根据我的理解,你必须处理特权。 查看页面https://dev.mysql.com/doc/refman/5.5/en/privilege-system.html 和http://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'@'%'