기본 콘텐츠로 건너뛰기

mysql DATETIME형의 기본값으로 현재시간 설정

mysql에서 시간을 저장하는 컬럼에 현재시간을 기본으로 설정하려면 기본값을 CURRENT_TIMESTAMP로 하면 된다. CURRENT_TIMESTAMP를 기본값으로 하면 INSERT나 UPDATE시 now()를 쓰는 것과 같은 효과를 볼 수 있다.

하지만 DATETIME형의 경우 5.6버전 이후부터 CURRENT_TIMESTAMP를 사용할 수 있다.

5.5이하 버전에서 기본값으로 현재시간을 설정하려면 DATETIME형 대신 TIMESTAMP형을 사용한다. 저장하려는 시간이 아래 기간 안에 있다면 문제없이 쓸 수 있다.

'1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC.

위 시간에 벗어나는 시간대를 저장해야 하고 INSERT시 현재값을 저장하려면 아래 방법 중 1개를 선택한다.
1. mysql 5.6버전 이상으로 업그레이드하고 DATETIME형을 사용, DEFAULT값을 CURRENT_TIMESTAMP로 한다.
2. 5.5버전 이하에서는 DATETIME형으로 선언하고, INSERT시 now()를 사용해서 시간을 수동으로 설정한다.

참조
. 11.3.1 The DATE, DATETIME, and TIMESTAMP Types (ver 5.5)

댓글

이 블로그의 인기 게시물

dmesg 메시지 실시간으로 보기

참조사이트 http://imitator.kr/Linux/556 # tail -f /var/log/messages # tail -f |dmesg //기본 2초 단위로 갱신 된다. # watch "dmesg | tail -f" //1초 단위로 갱신하면서 보여준다. # watch -n 1 "dmesg | tail -f" // 보여주는 줄을 20으로 늘린다. (기본 10줄) # watch -n 1 "dmesg | tail -f -n 20"

java 특정 디렉토리에 있는 파일 목록을 읽어내기, 정렬해서 가져오기

폴더 리스트 가져오기 String path="C:\"; File dirFile=new File(path); File []fileList=dirFile.listFiles(); for(File tempFile : fileList) {   if(tempFile.isFile()) {     String tempPath=tempFile.getParent();     String tempFileName=tempFile.getName();     System.out.println("Path="+tempPath);     System.out.println("FileName="+tempFileName);     /*** Do something withd tempPath and temp FileName ^^; ***/   } } 정렬해서 가져오기 import java.io.FileFilter; import java.io.IOException; import java.util.Arrays; import java.util.Date; import org.apache.commons.io.comparator.LastModifiedFileComparator; import org.apache.commons.io.filefilter.FileFileFilter; public class LastModifiedFileComparatorTest { public static void main(String[] args) throws IOException { File directory = new File("."); // get just files, not directories File[] files = directory.listFiles((FileFilter) FileFileFilter.FILE); System.out.println("Defaul...