【问题标题】:Non editable field in database数据库中不可编辑的字段
【发布时间】:2011-07-23 17:48:42
【问题描述】:

对不起这个蹩脚的问题,但我真的是一个数据库新手:

我想在数据库上创建某个字段时存储日期。是否有任何属性可以添加到该日期字段以使其无法修改?我只希望日期字段具有创建字段的日期,不想编辑它。

我正在使用 PostgreSQL。

谢谢。

【问题讨论】:

  • 您说的是哪个数据库? SQL 服务器?甲骨文? MySQL?
  • @vs dev:我正在使用 PostgreSQL。

标签: database postgresql


【解决方案1】:

我认为 PostgreSQL 支持列级权限。检查这个:PostgreSQL 8.4 Feature List

【讨论】:

    【解决方案2】:

    没有办法真正做到这一点;但是,如果您想让这种情况发生,您将针对该特定 table.field 执行更新触发器并抛出DBMS error。可能有一种更优雅的方式来做到这一点;但这就是我能想到的在写入后保护特定值的所有方法。

    【讨论】:

    • 所以基本上,您的意思是为 current_timestamp 创建一个 DEFAULT 字段,并且永远不再编辑该字段,对吧?
    • 它可能是一个默认值;但你也可以在 INSERT 上设置它。为 ONLY 更新创建触发器将确保该字段不会被更新。
    猜你喜欢
    • 2019-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多