일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 개개인성
- 칩히스 댄히스
- 스마트에디터 0바이트
- 자바
- 오기 오가스
- 가브리엘 웰즈
- Unix 타임스탬프
- 중복삽입
- pem인증
- mysql
- 함수포함
- @RestController
- 미시적동기
- 그리스로마 신화
- 평균의종말
- 토드로즈
- 죽음1
- 심리학으로 읽는 그리스 신화
- 제임스 클리어
- 성공
- 서평
- 태양의 신
- 보안성검토
- 토드 로즈
- 트렌젝션분기
- 순간의 힘
- 독서
- 날씨API
- 아주 작은 습관의 힘
- 전자정부프레임워크
- Today
- Total
목록DB (3)
삽질 하자! 파는만큼 보인다
* 상황 스케줄러를 돌려 외부 API를 통해 데이터를 가져와 DB에 INSERT하는 업무서비스가 있다. 이 서비스의 데이터가 중복으로 들어가는 문제가 발생했다. 중복을 검사하는 로직이 구현이 안되있었다고 파악을 했지만 데이터의 고유값을 기준으로 중복검사하는 로직이 구현이 되있었다. 디버깅을 돌려 확인해도 중복로직에 정상적으로 걸리고 있어 난해했다. 오라클 특성상 UPDATE, INSERT, DELETE 같은경우 COMMIT, ROLLBACK을 입력해줘야 실제 반영이되기때문에 해당 로직에 트렌젝션 관리가 되지않아 해당로직이 두번돌면서 중복이된다고 판단햇다. *시도 트렌젝션 관리를 위해 해당 매서드에 @Transactional 어노테이션을 설정했다. 적용후 또 다시 중복이들어가는 문제가있어 중복되는 데이터를..
mysql 및 mariadb 사용시 데이터베이스를 복구하기위해 구글링을 하면 아래와 같은 명령어를 자주 접할수있다. 기본적인 테이블 및 제약조건은 저장된다. 하지만 아래와 같이 백업을 했을경우 view테이블, function값이 빠져있는것을 확인 할 수 있다. 따라서 실무에서는 백업( 함수, view테이블, trigger 포함) 방법을 사용하자. 백업( 테이블 및 제약조건들) mysqldump -u [계정명] -p [패스워드] [데이터베이스명] [ DB명 ] > [ 생성할파일명 ].sql 백업 ( 함수, view테이블, trigger 포함) mysqldump --routines --triggers -u[계정명] -p [패스워드] [DB명] > [생성할파일명].sql 복구 - 복구는 동일하다 mysql -..

이폼사인 API 연계를 통해 데이터를 받아올때 날짜형태가 1694578067994와 같은 형태로 데이터를 전달받았다. 해당형식의 문자는 Unix 타임스탬프 형태라고 한다. 시도 Unix 타임스탬프 형태의 숫자 (1694578067994) 를 MYSQL.에서 DATETIME 날짜 형태로 INSERT를 시도 자바단에서 전처리를 해줘야한다. API로 전달받은 String값을 Long으로 형변환후 SimpleDateFormat를 이용하여 처리 완료 결과 정상적인 시간으로