Laravel에는 Illuminate\Database\Schema\Blueprint
클래스에 두 가지 메소드가 있는데, 구체적으로 차이점을 알고 싶습니다.Blueprint 클래스의 timestamp()와 dateTime() 메소드의 차이
$table->dateTime()
및
$table->timestamp()
두
눈에 띄게 같은 방법으로 날짜를 저장합니다. 누군가 나를 가르치나요?Laravel에는 Illuminate\Database\Schema\Blueprint
클래스에 두 가지 메소드가 있는데, 구체적으로 차이점을 알고 싶습니다.Blueprint 클래스의 timestamp()와 dateTime() 메소드의 차이
$table->dateTime()
및
$table->timestamp()
두
눈에 띄게 같은 방법으로 날짜를 저장합니다. 누군가 나를 가르치나요?이렇게 비밀은 정확하게 각각 무엇을하는지 이해하는 것입니다.
여기 Laravel의 dateTime()
및 timestamp()
함수는 다른 테이블 열을 사용합니다.
dateTime()
은 DB 열 유형으로 DATETIME을 사용합니다. timestamp()
은 DB 열 유형으로 TIMESTAMP를 사용합니다.
DATETIME
과 TIMESTAMP
에는 많은 유사점이 있지만 차이점은 Laravel 외에도 MySQL에 더 많이 있습니다.
주요 차이점은 범위입니다. DateTime의 경우 해당 연도는 9999
이고 타임 스탬프의 경우 최대 연도는 2038
입니다. 다른 차이점은 각각을 저장하는 데 필요한 바이트의 양을 포함합니다.
희망의 차이를 알리는 좋은 기사를 발견했다.
$table->dateTime()
테이블에 새로운 날짜 - 시간 열을 생성하십시오. 반면에 $table->timestamp()
테이블에 새 타임 스탬프 열을 만듭니다.
당신은 타임 스탬프 및 날짜의 차이,
DATETIME은 (달력에서 발견) 날짜를 나타내고 벽 시계에 관찰 할 수있는 시간을 (식별에 문제가있는 경우)
그리고,
TIMESTAMP는 잘 defin를 나타냅니다 에드 포인트. 응용 프로그램이 표준 시간대를 처리하는 경우 이는 매우 중요 할 수 있습니다. 얼마나 오래 전 '2010-09-01 16:31:00'이었습니까? 시간대에 따라 다릅니다.
또한 불편을 끼쳐 드려서 BluePrint Documentation을 참조하십시오.
timestamp
및 dateTime
은 YYYY-MM-DD HH : MM : SS의 단일 필드에 날짜 (YYYY-MM-DD)와 시간 (HH : MM : SS)을 함께 저장합니다.
차이점은 timestamp
은 데이터베이스 레코드가 업데이트 될 때마다 CURRENT_TIMESTAMP
을 값으로 사용할 수 있다는 것입니다.
timestamp
의 제한은 1970-01-01 00:00:01 UTC에서 2038-01-19 03:14:07 UTC dateTime
의 범위는 1000-01-01 00:00:00에서 9999- 12-31 23시 59분 59초은 UTC
timestamps
created_at
및
updated_at
타임 스탬프 필드를 추가 할 수있는 지름길, 인수를 고려하지 않습니다.
필자가 잘 이해한다면 DBMS 인 경우 두 기능이 모두 MySQL에 바인드됩니까? – Goms