【问题标题】:How to insert timestampz values in postgresql table using php如何使用 php 在 postgresql 表中插入 timestampz 值
【发布时间】:2011-08-11 11:51:48
【问题描述】:

我们有一个 'timestampz' 类型的 2 字段,例如 createdon 和 updatedon

createdon 字段是使用 postgresql 的 'Now()' 函数插入的。

我需要使用 php 插入更新字段。 就像我尝试使用'date( 'Y-m-d H:i:s' , $timestamp );'插入。

当我尝试获取更新的字段时给了我错误的结果。

我想知道我想如何使用 php 插入 timestampz。

【问题讨论】:

    标签: php postgresql timezone


    【解决方案1】:

    下面的文章介绍了如何用 Postgres 实现 MySql 的 timestamp 行为:

    它通过创建触发器来工作:

    CREATE OR REPLACE FUNCTION trg_handle_timestamp() RETURNS TRIGGER AS $BODY$
    BEGIN
    IF NEW.y = OLD.y THEN NEW.y := now(); END IF;
    RETURN NEW;
    END;
    $BODY$ LANGUAGE 'plpgsql';
    CREATE TRIGGER trg_handle_timestamp 
    BEFORE UPDATE ON test FOR EACH ROW EXECUTE PROCEDURE trg_handle_timestamp();
    

    【讨论】:

      【解决方案2】:

      你不能做类似“UPDATE table SET ..., updatedon = NOW() WHERE ...”之类的事情吗?

      【讨论】:

      • 嘿,我们不想将 updatedon 设置为 NOW()...它根据一些输入动态创建...
      猜你喜欢
      • 1970-01-01
      • 2019-12-02
      • 1970-01-01
      • 2018-06-09
      • 1970-01-01
      • 1970-01-01
      • 2020-10-17
      • 1970-01-01
      • 2012-05-25
      相关资源
      最近更新 更多