5

テーブル付きのmySQLがあります。すべて日付列を持つ30のレコードがあります。

テーブル内の既存のすべてのレコードを変更して、今日の日付がis形式になるようにするにはどうすればよいですか?

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 に答える