5

我有一个带表的 mySQL。有 30 条记录都带有日期列。

如何将我表中的所有现有记录更改为今天的日期格式?

date_default_timezone_set('America/Los_Angeles');
$date = date("m/d/y g:i A") ; 
4

1 回答 1

7

这是 VARCHAR 到 DATETIME 的修复(这将删除当前值):

ALTER TABLE mytable modify column `mycolumn` datetime NOT NULL DEFAULT 0;
UPDATE mytable SET mycolumn = NOW() WHERE ...;

或者

UPDATE mytable SET mycolumn = '2011-09-25 17:40:00' WHERE ...;

如果要保存当前值,请使用:

ALTER TABLE mytable add column `newdate` datetime NOT NULL DEFAULT 0;
UPDATE mytable SET newdate = mycolumn;
ALTER TABLE mytable DROP COLUMN mycolumn;

如果您想以格式选择日期,您可以:

SELECT DATE_FORMAT(mycolumn, '%m/%e/%y %h:%i %p') FROM mytable WHERE ...

或者在您的 PHP 中,您可以使用:

date_default_timezone_set('America/Los_Angeles');

// query select ($row = mysql_fetch_assoc($query)...

$date = $date = date("m/d/y g:i A", strtotime($row['mycolumn']));
于 2011-09-25T21:42:01.393 回答