2011-09-25 16 views
5

Tôi có một mySQL với một bảng. Có tất cả 30 bản ghi có cột ngày.Đặt định dạng ngày với bản ghi hiện có php mySQL. Làm sao?

Làm cách nào để thay đổi tất cả các bản ghi hiện có trong bảng của tôi để có ngày hôm nay là định dạng?

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

varchar (20) là định nghĩa – Erik

+2

tôi don Không nên sử dụng varchar như ngày, sử dụng dấu thời gian hoặc datetime, sau đó bạn có thể định dạng ngày mysql bằng cách sử dụng: DATE_FORMAT() –

+0

ok, nhưng làm cách nào để thay đổi các bản ghi hiện có? – Erik

Trả lời

7

Dưới đây là các bản sửa lỗi cho các VARCHAR để DATETIME (điều này sẽ erease giá trị hiện tại):

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

hoặc

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

Nếu bạn muốn lưu giá trị hiện tại sử dụng:

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

Nếu bạn muốn chọn ngày theo định dạng bạn có thể:

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

Hoặc trong PHP của bạn, bạn có thể sử dụng:

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'])); 
Các vấn đề liên quan