在phpMyAdmin中自动更新编辑时的日期列

时间:2015-09-28 09:40:52

标签: mysql phpmyadmin

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

a busy cat http://forumbilder.se/ECJ29/capture2.png

(实际上并没有使用wordpress,只是以随机数据库表为例)

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

1 个答案:

答案 0 :(得分:8)

您可以使用应用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. 在下一页中,将列属性设置如下:
  5. enter image description here