是否可以使MySQL数据库表不允许任何修改

时间:2013-04-15 19:54:52

标签: mysql

我有一个查找表,肯定包含固定数据,{月份名称,简短形式,数值}。由于此表永远不可能更改,因此可以防止在此表上的数据库层上插入/更新/删除。

我知道这可能不是一个特别有用的功能,无论如何我想知道这是否可行。

3 个答案:

答案 0 :(得分:1)

首先,假设表未来的变化是不正确的。你要保留陈旧数据多久?它有效期多长时间?你还在哪里保存新增内容?

第二件事,如果你真的想把表锁定为只读。

有两种方式:

  • 在应用程序级别强制执行此约束。这是标准做法。
  • 仅创建一个SELECT(特权)用户,并在应用程序中使用此用户来查询此表。有些人用这个。但是您需要相应地在应用程序中的用户之间切换。

答案 1 :(得分:1)

你也可以使用myisampack。打包表是压缩的,不可更改。

http://dev.mysql.com/doc/refman/5.6/en/myisampack.html

答案 2 :(得分:0)

您可以向特定用户帐户授予权限,例如仅授予“选择”。