SQL 테이블에서 최초저장시간, 수정시간을 자동으로 컬럼 만드는 코드는?
1 num 기본 int(10) 아니오 없음 AUTO_INCREMENT 변경 변경 삭제 삭제
더보기 더보기
2 tablename varchar(30) utf8_general_ci 예 NULL 변경 변경 삭제 삭제
더보기 더보기
3 item varchar(20) utf8_general_ci 예 NULL 변경 변경 삭제 삭제
더보기 더보기
4 parentnum text utf8_general_ci 예 NULL 변경 변경 삭제 삭제
더보기 더보기
5 picname text utf8_general_ci 예 NULL 변경 변경 삭제 삭제
더보기 더보기
6 realname text utf8_general_ci 예 NULL 변경 변경 삭제 삭제
더보기 더보기
위의 테이블에 따로 insert 명령을 넣지 않고 자료의 저장시간을 저장하도록 컬럼을 지정할 수 있나?
MySQL에서 자료의 저장 시간을 자동으로 기록하려면 TIMESTAMP
또는 DATETIME
데이터 타입을 사용하고, DEFAULT CURRENT_TIMESTAMP
를 설정하면 됩니다. 이를 통해 INSERT 명령에 따로 값을 지정하지 않아도 저장 시간이 자동으로 기록됩니다.
방법
다음은 위 테이블에 저장 시간을 기록하는 created_at
컬럼을 추가하는 SQL 예제입니다:
ALTER TABLE your_table_name
ADD COLUMN created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
설명
created_at
: 새로 추가된 컬럼 이름입니다. 원하는 이름으로 변경할 수 있습니다.TIMESTAMP
: 저장 시간을 기록하기 위한 데이터 타입입니다.DEFAULT CURRENT_TIMESTAMP
: 레코드가 삽입될 때 현재 시간을 자동으로 기록합니다.
업데이트 시간까지 자동으로 기록하려면?
저장 시간뿐 아니라 업데이트 시간도 기록하려면 ON UPDATE CURRENT_TIMESTAMP
옵션을 추가할 수 있습니다:
ALTER TABLE your_table_name
ADD COLUMN updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
결과
created_at
: 자료가 처음 저장된 시간.updated_at
: 자료가 수정된 시간.
이 두 옵션을 활용하면 INSERT 및 UPDATE 시 별도의 작업 없이 저장 및 수정 시간을 관리할 수 있습니다.
아래는 picuploads
테이블에 created_at
과 updated_at
컬럼을 추가하여 자료의 저장 시간과 수정 시간을 자동으로 기록하는 SQL 문장입니다:
ALTER TABLE picuploads
ADD COLUMN created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
ADD COLUMN updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
설명
ADD COLUMN created_at
:TIMESTAMP
: 날짜와 시간을 기록하는 데이터 타입.DEFAULT CURRENT_TIMESTAMP
: 자료가 저장될 때 현재 시간을 자동으로 기록.
ADD COLUMN updated_at
:TIMESTAMP
: 날짜와 시간을 기록.DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
: 자료가 저장될 때 현재 시간을 기록하고, 자료가 수정될 때 자동으로 시간을 갱신.
결과
created_at
: 데이터가 처음 삽입된 시간을 자동으로 기록합니다.updated_at
: 데이터가 삽입될 때와 수정될 때 자동으로 갱신됩니다.
이 SQL 문장을 실행하면 picuploads
테이블에 두 컬럼이 추가되고 자동 시간 기록 기능이 활성화됩니다.