Php SQL:使用时间戳更新

Php SQL:使用时间戳更新,php,mysql,sql,Php,Mysql,Sql,我有一个表,其中有一列名为“updated”。创建新行时,列将自动插入当前时间。但是,我也想更新这个专栏。有什么关于如何做的信息吗?这是我的更新声明(还没有“更新”列): 如果希望更新时更新updated列,请在查询中为其分配NOW()。如果希望更新时更新列,请在查询中为其分配NOW() ALTER TABLE `documents` ADD COLUMN `UpdatedDate` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_

我有一个表,其中有一列名为“updated”。创建新行时,列将自动插入当前时间。但是,我也想更新这个专栏。有什么关于如何做的信息吗?这是我的更新声明(还没有“更新”列):


如果希望更新时更新
updated
列,请在查询中为其分配
NOW()

如果希望更新时更新
列,请在查询中为其分配
NOW()

ALTER TABLE `documents` 
ADD COLUMN `UpdatedDate` TIMESTAMP DEFAULT CURRENT_TIMESTAMP 
ON UPDATE CURRENT_TIMESTAMP NOT NULL;
编辑:要更改

ALTER TABLE `documents` 
MODIFY `updated` TIMESTAMP DEFAULT CURRENT_TIMESTAMP 
ON UPDATE CURRENT_TIMESTAMP NOT NULL;
编辑:要更改

ALTER TABLE `documents` 
MODIFY `updated` TIMESTAMP DEFAULT CURRENT_TIMESTAMP 
ON UPDATE CURRENT_TIMESTAMP NOT NULL;
使用一个类似这样的

create trigger updated_is_now before update on documents
for each row set NEW.updated = now();
然后,您可以发送通常的SQL
UPDATE
语句,触发器将有效地将
updated=now()
添加到
SET
子句中。

使用a,类似于以下内容:

create trigger updated_is_now before update on documents
for each row set NEW.updated = now();

然后,您可以发送通常的SQL
UPDATE
语句,触发器将有效地将
updated=now()
添加到
SET
子句中。

感谢您的回复-我不想添加列,但它已经存在(因为最初创建了整行)。有办法只更新吗?@Zakman411:,更新位的效果与我的触发方法相同。所以更新后的ALTER TABLE的MODIFY版本就可以了。感谢您的回复-我不想添加列,它已经存在了(因为最初创建了整行)。有办法只更新吗?@Zakman411:,更新位的效果与我的触发方法相同。所以ALTER TABLE的更新修改版本就可以了。哇,这很简单。谢谢但是这需要修改每一个
更新文档(包括现在和将来的文档),这可能会也可能不会是一堆令人不快的东西。哇,这很简单。谢谢但这需要修改每一个
更新文档(包括现在和将来的文档),这可能会也可能不会是一堆令人不快的东西。@mu:我在末尾有一个if语句(参见我原来的帖子),一次只允许更改一行。但是如果一次要编辑多行,这会很有用,对吗?@Zakman411:触发器可以处理一行或多行。@mu:我在末尾有一个if语句(请参阅我的原始帖子),一次只允许更改一行。但是如果同时有很多行需要编辑,这会很有用,对吗?@Zakman411:触发器对一行或多行同样有效。