【问题标题】:Automatically updating date column on edit in phpMyAdmin在 phpMyAdmin 中编辑时自动更新日期列
【发布时间】:2015-12-25 12:19:19
【问题描述】:

我正在开发一个小型网站,对于这个项目,我想使用 phpMyAdmin 的用户界面直接在数据库中编辑项目,而不是为网站构建管理员用户界面。我将像这样快速编辑项目:


(来源:forumbilder.se

(实际上没有使用wordpress,只是拿了一个随机的数据库表来做例子)

问题是我有一列保存上次编辑该行的日期时间,我不知道如何在进行这样的编辑后自动更新该列。任何帮助将不胜感激。

【问题讨论】:

  • 你试过写SQL触发器吗?您需要将其定义为在更新其他列时使用更新日期时间来更新列

标签: mysql phpmyadmin


【解决方案1】:

您可以通过使用应用ON UPDATE CURRENT_TIMESTAMP 子句的TIMESTAMP 列来实现这一点 - 请参阅https://dev.mysql.com/doc/refman/5.0/en/timestamp-initialization.html

因此,如果您是从头开始创建表:

CREATE TABLE t1 (
  ...
  post_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  post_content ...
  ...
);

或者如果您已经有表格,您可以更改相关列:

ALTER TABLE t1 MODIFY post_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

请注意,两个示例中的列定义都为新记录设置了当前日期/时间的默认值。这通常是此功能的实现方式,但当然您的要求可能会有所不同,因此您可能希望设置不同的默认值。

更新: 如果您希望使用 phpMyAdmin 来实现:

  1. 浏览到有问题的表
  2. 点击结构标签
  3. 点击相关列的编辑图标
  4. 在下一页中,设置列属性如下:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-16
    • 1970-01-01
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    相关资源
    最近更新 更多