2014-06-21 2 views
0

나는 MySQL의 행을 업데이트 할 "2014년 6월 21일 17시 56분 0초는"의 MySQL 날짜와 타임 스탬프

타임 스탬프 1,454,546,656처럼 (지금이다)

DATETIME가에 어디 모든 행을 업데이트 할

지난

행의 거대한 숫자를 다루는 가벼운 방법은 무엇입니까?

감사합니다. 경우, 또한이 각 레코드에 대한 타임 스탬프를 다시 계산되지 않기 때문에,

$ts = date("Y-m-d H:i:s", $timestamp); //Convert Unix Timestamp to MySQL Date/Time Format 
UPDATE table WHERE DATETIME < '$ts'; 

이것은 내가 생각할 수있는 가장 가벼운 방법이며, : 당신이 PHP를 사용하고 있기 때문에

답변

1

는 PHP 날짜 함수를 사용해보십시오 DateTime 필드가 인덱싱되면 엄청나게 빠를 것입니다.

2

MySQL의에서

from_unixtime()는 사람이 읽을 수있는 최신 유닉스 시간을 변환 할 수있는이 기능은

unix_timestamp() 사람이 읽을 수있는 날짜를 변환하는 그래서 당신이 다음 중 하나를 사용할 수 있습니다

이 타임 스탬프 비교 보이는 방법은 다음과

mysql> select from_unixtime(1454546656); 
+---------------------------+ 
| from_unixtime(1454546656) | 
+---------------------------+ 
| 2016-02-04 06:14:16  | 
+---------------------------+ 


mysql> select unix_timestamp('2014-06-21 17:56:00'); 
+---------------------------------------+ 
| unix_timestamp('2014-06-21 17:56:00') | 
+---------------------------------------+ 
|       1403353560 | 
+---------------------------------------+ 

mysql> select unix_timestamp('2014-06-21 17:56:00') < 1454546656; 
+----------------------------------------------------+ 
| unix_timestamp('2014-06-21 17:56:00') < 1454546656 | 
+----------------------------------------------------+ 
|             1 | 
+----------------------------------------------------+ 

mysql> select from_unixtime(1454546656) > '2014-06-21 17:56:00'; 
+---------------------------------------------------+ 
| from_unixtime(1454546656) > '2014-06-21 17:56:00' | 
+---------------------------------------------------+ 
|             1 | 
+---------------------------------------------------+ 
,

그래서 비교를 위해 어느 것을 사용하고 싶으세요?

+0

그 기능에 대해 잊어 버렸습니다 ... lol +1 –

+1

동의하지만이 모든 것이'datetime str

+0

예. 지금 사용한다면 위의 내용은'1454546656' 값을 입력 한 것일뿐입니다. –