SMALL
오라클에서 DEFAULT로 현재 시간을 설정하기 위해서는 SYSDATE 를 사용한다.
MYSQL 에서는 SYSDATE 대신 NOW() 함수를 사용한다.
NOW()를 사용했을 때 오류가 발생해서 찾아본 결과, MYSQL의 버전에 따라 사용하는 구문이 다르다.
1. mysql 버전 확인하기
cmd창을 열고 mysql --version을 입력하면 현재 버전을 알 수 있다.
내 버전은 mysql 5.7.35였다.
해결
MYSQL의 버전이 5.6.5 이상일 경우에 사용하는 방법이다.
NOW()함수 대신 CURRENT_TIMESTAMP를 사용한다.
ALTER TABLE [테이블명] MODIFY COLUMN [컬럼명] DATETIME DEFAULT CURRENT_TIMESTAMP;
만일 MYSQL의 버전이 5.6.5보다 아래일 경우에는 구글링하다 찾은 아래 글을 참고하면 좋을 듯 하다.
트리거를 활용하여 now() 함수를 적용하는 방법이다.
https://jsonobject.tistory.com/122
SMALL
'기록 > SQL' 카테고리의 다른 글
[MyBatis] [Error] Cause: java.lang.IndexOutOfBoundsException (0) | 2022.05.04 |
---|---|
[Oracle][SQL][Error] ORA-00911: 문자가 부적합합니다 (0) | 2022.04.16 |
[Oracle] [프로그래머스] 오랜 기간 보호한 동물 (0) | 2021.08.28 |
[Oracle] NVL과 NVL2 (0) | 2021.08.28 |
[Oracle] 계층적 쿼리 (level) (0) | 2021.08.28 |