0

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

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

类别:CategoryId(Pk)、名称、UserId(Fk)

我已将用户类型设置为“枚举”,并且只能具有值 admin、moderator 或 regular。我想做到这一点,以便只有类型为 admin 的用户才能添加类别表。

有没有办法做到这一点?

谢谢

4

2 回答 2

0

如果您的用户不是 MySQL 用户,我假设他们不是,那么这不取决于 MySQL,而是取决于与 MySQL 交互的程序,即:PHP。在提交对“受限”表的更改之前,您应该进行适当的检查。

于 2013-02-03T14:14:24.160 回答
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 到表 users 的唯一选择权限,

将 dbname.users 上的 GRANT 选择授予由 'password' 标识的 'kim'@'localhost'

为任何用户指定所有权限

将 dbname.users 上的所有内容授予由“pass”标识的“root”@“localhost”

检查任何特定用户的权限

采用 : show grants [for user ]

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

于 2013-02-03T14:20:21.197 回答