【发布时间】:2017-10-13 11:16:56
【问题描述】:
我在 Linux 下使用 MySQL 5.6。
我有一个包含 3 列(COLUMN1、COLUMN2 和 COLUMN3)的表,其中 COLUMN3 是一个包含确认信息 Y 或 N(默认为 N)的 1 字符列。
我想实现一个简单的 maker-checker 机制。
我想让 STOCKING 部门的员工拥有 INSERT 权限来添加新记录。然后,他们可以输入 COLUMN1 和 COLUMN2。他们不应更改 COLUMN3 的值。
然后,会计部门工作人员对 COLUMN3 具有 UPDATE 权限,将其从 N 更新为 Y。
但是,我发现,一旦插入新记录,STOCKING 人员就可以更新 COLUMN3.实际上,我不希望他们能够改变它。插入后仍应使用默认值 N。
在我看来,一旦插入新记录,用户就可以对新记录的每一列进行所有操作。
MySQL 中的 REVOKE 操作在这种情况下无济于事。
看起来 MySQL 中没有 DENY UPDATE 机制。
有没有人有类似的经历并分享一下如何做到这一点?
提前致谢
【问题讨论】:
-
这个应该在前端实现。用户不应直接访问数据库。
标签: mysql