728x90
처음에 BookmarkDAO의 edit 메소드에서
prepared.setTimestamp로 이 함수가 호출 될 때 == 업데이트 될 때 현재 시각을 넣어주려고 했는데
https://blogshine.tistory.com/281
여기 참고해서 다 해봤지만 콘솔에는 정상적인 시간이 나와도 db에는 밀리초로 저장이 되었다.
그래서 트리거를 이용해서 update가 일어났을 때의 날짜를 저장해주는 방법을 해보기로 했다.
create trigger tg_bookmark_group_edit_date
after update on bookmark_group
for each row
begin
update bookmark_group set
bookmark_name = new.bookmark_name,
sequence = new.sequence,
make_date = old.make_date,
edit_date = datetime('now','localtime')
where id = old.id;
end;
트리거를 만들어서 update가 일어났을 때 변경된 bookmark_name과 sequence를 적용할 수 있게 했고 edit_date를 현재시간을 넣어줬다. 여기서 where 조건이 없으면 모든 레코드가 일괄 변경됨 !!
String sql = "update bookmark_group set bookmark_name=?, sequence=?"
+ " where id=?";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, name);
preparedStatement.setInt(2, order);
preparedStatement.setInt(3, id);
preparedStatement.executeUpdate();
그리고 쿼리문을 이렇게 작성해줬다.
바꾼 시각이 잘 적용되는 것을 확인 ! : ) 신난다
728x90
'공부 > Trouble Shooting' 카테고리의 다른 글
자바 스크립트 select에서 선택한 값 서버로 보내기 (0) | 2023.09.11 |
---|---|
자바스크립트로 내 현재 위치 서버에 보내기 (0) | 2023.09.11 |
jsp 파일에서 jsp파일로 값 전송 (javascript) (0) | 2023.09.11 |
${pageContext.request.contextPath} 사용 (1) | 2023.09.11 |
sqlite 현재시간 저장 시 9시간 차이나는 오류 (0) | 2023.09.10 |