2013-06-02 2 views

답변

1

datetime MySQL의 데이터 유형은 time_zone 지침의 상관하지 않습니다. 당신은 MySQL documentation on date and time types이 찾을 수 timestamp

+0

이 열 데이터에 영향을 줍니까? 나는 그것을 datetime에서 timestamp로 바꾸는 것을 의미한다. 안전 해요? 왜냐하면 나는이 테이블에 많은 기록을 남기고 있기 때문이다. 그리고 나는'creation_date' 시간을 잃어 버릴 수 없습니다. – DanR

+1

당신이 날 믿지 않는다면 - 다른 컬럼을 만들고'UPDATE table SET newcol = oldcol'을 사용하면 안전하다고 말할 수 있습니다. – zerkms

0

에 유형을 변경 - 만 timestamp 그래서 솔루션이

를 않습니다

MySQL은 저장 UTC 현재 시간대에서 TIMESTAMP 값을 변환하고, UTC에서 검색하기 위해 현재 시간대로 되돌아갑니다. (여기에는 DATETIME과 같은 다른 유형의 발생하지 않습니다.) 개인적으로

3

, 내가 DATETIME 고수 항상 UTC_TIMESTMP() 대신 NOW() 또는 유사한을 사용합니다. 그런 다음 데이터베이스에서 날짜를 읽을 때 필요에 따라 CONVERT_TZ()으로 변환 할 수 있습니다.

+0

그래서 한 번하는 대신 ** ** 모든 단일 쿼리에서 수동으로 처리하는 것을 선호합니까? – zerkms

+0

국제 웹 사이트를 운영하는 경우 어쨌든해야합니다. 그렇지 않으면 대개 어쨌든 시간대를 신경 쓸 필요가 없습니다. – str

+0

당신이 timestamp를 사용한다면 - 연결 후'SET time_zone'을 한 번만 지정하면 자동으로 mysql이 나머지 작업을 수행하므로 "어쨌든해야한다"는 것은 완전히 사실이 아니다. – zerkms

관련 문제