테이블에서 중복값 방지를 위한 contraint가 걸려있을 경우, 중복 키값을 가진 row를 insert 하면 오류가 발생한다. 따라서 일반적인 방법으로는 insert를 하기 전 중복된 키를 가진 값이 이미 table에 존재하는지를 파악하고, 이미 존재할 경우 update를 하도록 구현하여아 한다. 하지만, 중복키 여부를 확인하기 위한 로직을 작성하지 않고도 쿼리 하나로 insert 또는 update를 수행하도록 설정할 수 있는 방법이 존재한다. Oracle 공식 Document 를 참고하면, INSERT ON DUPLICATE KEY UPDATE 구문을 통해 처리할 수 있음을 확인할 수 있다. MERGE Prerequisites You must have the INSERT and UPDATE objec..
DB 검색 결과
테이블에서 중복값 방지를 위한 contraint가 걸려있을 경우, 중복 키값을 가진 row를 insert 하면 오류가 발생한다. 따라서 일반적인 방법으로는 insert를 하기 전 중복된 키를 가진 값이 이미 table에 존재하는지를 파악하고, 이미 존재할 경우 update를 하도록 구현하여아 한다. 하지만, 중복키 여부를 확인하기 위한 로직을 작성하지 않고도 쿼리 하나로 insert 또는 update를 수행하도록 설정할 수 있는 방법이 존재한다. MariaDB 공식 Document 를 참고하면, INSERT ON DUPLICATE KEY UPDATE 구문을 통해 처리할 수 있음을 확인할 수 있다. INSERT ON DUPLICATE KEY UPDATE INSERT if no duplicate key is..
DB Dump는 간단한 명령어를 통해 가능하다. mysqldump -u ID -p DBNAME > FILE_NAME ID, DBNAME, FILE_NAME에 적절한 값을 입력하면 된다. 만일, Table의 데이터 없이 schema만 백업하고 싶으면 다음과 같은 명령어를 사용하면된다. mysqldump -u ID -p --no-data DBNAME >FILE_NAME 옵션에 추가된 --no-data 가 dump를 뜨면서 table 내의 데이터를 무시하도록 하는 역할한다.
일반적인 방법으로는, 외래키가 지정된 Table에 대해 truncate 명령어가 먹히지 않는다. 이를 해결하기 위해선 DB의 데이터를 삭제하고, DBCC의 Reseed 를 이용하여 ID를 초기화 하는 동작을 수행하면 된다. DBCC Reseed와 관련한 문서는 링크로 대체한다. https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkident-transact-sql?view=sql-server-2017
최근댓글