Database43 [Error] MySQL 에러 Cannot delete or update a parent row: a foreign key constraint fails [Error] MySQL 에러 Cannot delete or update a parent row: a foreign key constraint fails 에러 로그 ### Cause: java.sql.SQLIntegrityConstraintViolationException: (conn=4502) Cannot delete or update a parent row: a foreign key constraint fails (`taat_vol2`.`file`, CONSTRAINT `file_ibfk_1` FOREIGN KEY (`filegid`) REFERENCES `board` (`id`)) 현재 구현 로직은 특정 게시물을 지우면 해당 id값의 board 테이블 데이터와 file 테이블에 조인된 데이터를 삭제.. Database/SQL 2019. 12. 11. [Oracle] INNER JOIN이란? 사용방법도 함께 알아보자 [Oracle] INNER JOIN이란? 사용방법도 함께 알아보자 INNER(내부) JOIN 이란, 두 테이블간 조인 조건을 만족하는 행을 반환할 때 사용하는 구문이다. 쉽게 조인하려는 두 테이블의 교집합이라고 생각하면 될 듯 하다. 사용 방법 SELECT * 조회할 컬럼을 선택한다 (모든 컬럼 조회) FROM TABLE1 T1 INNER JOIN TABLE2 T2 INNER 는 생략가능 ON (T1.KEY = T2.KEY) 두 테이블을 연결할 조건을 명시한다 실제 어떻게 사용되는지 살펴보자 KEY 컬럼이 TIMESTAMP와 NUM인 같은 구조의 테이블 A와 B가 있다. 두 테이블의 TIMESTAMP와 NUM의 값이 같은 데이터를 조회하고 싶다. 여기서 INNER JOIN의 INNER는 생략 가능하다. .. Database/SQL 2019. 10. 13. [Oracle] OUTER JOIN 사용 방법과 차이점 (LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN) OUTER(외부) JOIN 이란 조인 조건에서 동일한 값이 없는 행도 반환할 때 사용하는 구문이다. 즉 A, B 테이블을 JOIN 할 경우, 조건에 맞지 않는 데이터도 표시하고 싶을 때 OUTER JOIN을 사용한다. 오늘은 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN을 살펴볼 것이다 !! LEFT / RIGHT / OUTER JOIN 맛보기 OUTER JOIN은 조인 USING, ON 조건절을 필수적으로 사용해야 한다. LEFT OUTER JOIN과 RIGHT OUTER JOIN은 기준이 되는 테이블이 조인 수행 시 무조건 드라이빙 테이블(첫번째로 ACCESS 되는 테이블)이 된다. 또한, 드라이빙 테이블이 어떤 테이블이냐에 따라 쿼리 성능이나 튜닝 부분에.. Database/SQL 2019. 10. 12. [MyBatis] List 파라메터 foreach 사용 (INSERT, DELETE, MERGE, UPDATE) - Oracle foreach문은 사용할 때마다 사용되는 위치도 속성도 어려워서 더이상 헷갈리지 않기 위해 남겨본다 :-) ! MySQL foreach 사용방법은 ? [MyBatis] List 파라메터 foreach 사용 (INSERT, DELETE) - MySQL [MyBatis] List 파라메터 foreach 사용 (INSERT, DELETE) - MySQL Oracle 버전이 궁금하다면 ? 클릭 ! [MyBatis] List 파라메터 foreach 사용 (INSERT, DELETE, MERGE) [MyBatis] List 파라메터 foreac.. haenny.tistory.com foreach 속성 구분 설명 collection 전달받은 인자값 item 전달받은 인자값을 다른이름으로 대체 open 해당 구문이 시.. Database/MyBatis 2019. 8. 13. [Oracle] LISTAGG WITHIN GROUP 문 LISTAGG 구문 SELECT LISTAGG (컬럼명, 구분기호) WITHIN GROUP (ORDER BY 정렬기준컬럼) FROM 테이블명 예제 다음 테이블로 사용방법을 살펴보자 동일한 MSD_ID의 값의 LINK_ORG 값을 하나의 컬럼으로 가져오고 싶다면 LISTAGG 구문을 사용해서 가져오면 된다. SELECT LISTAGG(LINK_ORG, '') WITHIN GROUP (ORDER BY LINK_ORG) AS LINK_ORG FROM G_LINK WHERE MSD_ID = 'MSD_ID' 여기서 구분기호를 두지 않았지만 만약 구분기호를 ',' 로 두었다면 결과값은 00,01,02,03,04 가 나온다. 참고로 LISTAGG는 중복제외(DISTINCT)를 지원하지 않는다. 이를 해결하기 위해 아.. Database/SQL 2019. 7. 29. [MySQL] DATE_FORMAT 날짜 표기법 DATE_FORMAT 구문 DATE_FORMAT(날짜, 형식) : 날짜를 지정한 형식으로 출력해주는 함수 Oracle에서의 TO_DATE 함수랑 같은 역할을 한다고 생각하면 된다. ^^ DATE_FORMAT 의 구분 기호 FORMAT 설명 %M 월(Janeary, December, ...) %w 요일(Sunday, Monday, ...) %D 월(1st, 2dn, 3rd, ...) %Y 연도(1987, 2000, 2013) %y 연도(87, 00, 13) %X 연도(1987, 2000) %V와 같이 쓰임. %x 연도(1987, 2000) %v와 같이 쓰임. %a 요일(Sun, Tue, ...) %d 일(00, 01, 02, ...) %e 일(0, 1, 2, ...) %c 월(1, 2, ..., 12) %.. Database/SQL 2019. 7. 20. [Oracle] SQL WHERE IN 구문 쇽쇽! 보통 데이터를 조회할 때, 조회 조건은 일대일 매칭으로 WHERE COLUMN = 'value' 이렇게 많이 하시죠? 만약 여러 개의 데이터와 여러 개의 데이터를 비교하고 싶을 때는 어떻게 해야할까요? 오늘 소개할 쿼리문은 바로 WHERE IN 구문입니다. WHERE IN 예제 다음 테이블로 살펴봅시다. M_AUTH_CD 컬럼의 값이 01이거나 02인 데이터만 조회하고 싶을 때, WHERE M_AUTH_CD IN ('조건1', '조건2') 로 조회를 해주면 됩니다. 여기서 IN 문의 나열한 조건들은 OR 조건으로 조회합니다. WHERE NOT IN 예제 또는 반대로 M_AUTH_CD 컬럼의 값이 01이거나 02를 제외한 데이터를 조회하고 싶을 때, WHERE M_AUTH_CD NOT IN ('조건1', .. Database/SQL 2019. 7. 8. 이전 1 2 3 4 다음 추천 글 728x90 반응형