본문 바로가기
반응형

프로그래밍/DataBase4

Cannot truncate a table referenced in a foreign key constraint 오류 회피 방법. 아직도 구글을 검색하나요? 이렇게 물어보면서도 구글에 검색이 되도록 키워드를 잡는다. 아이러니다.  사소한 모든 오류와 처리했던 내용들을 기록으로 남겨야겠다.  제목과 같은 오류가 발생한다면 간단하게 회피할 수 있는 방법이 있다. 대상 데이터베이스는 MySQL이다.  -- 외래 키 제약 조건 비활성화SET FOREIGN_KEY_CHECKS = 0;-- 테이블 비우기TRUNCATE TABLE SAMPLE.TABLE_NAME;-- 외래 키 제약 조건 활성화SET FOREIGN_KEY_CHECKS = 1;-- 외래 키 제약 조건 삭제ALTER TABLE SAMPLE.TABLE_NAME_REFER DROP FOREIGN KEY FK7u1hsi3qcyd86fdd7q3cwtvt8;-- 테이블 비우기TRUNCATE .. 2024. 6. 25.
Workbench - Lost connection to MySQL server during query 테이블에 데이터가 많은 경우 쿼리 질의가 오래 걸린다. 특히, 컬럼을 추가하거나 삭제할 때 더욱 오래 걸린다. 가끔 저런 오류 문구가 나올 때가 있다면 다음 설정을 확인해보길 바란다. MySQL Session 탭의 시간을 기본값보다 더 길게 잡는다. 30초, 60초 이렇게 잡혀있다면, 600, 300 으로 늘린 다음, Workbench를 재실행하고 실행해보면 오류가 사라질 것이다. 시간은 뭐, 적당하게 늘려서 ^^ 2023. 4. 4.
MySQL 백업과 복원 명령어 최근 spring boot 프로젝트에서 MySQL을 사용하고 있는데 운영서버와 개발서버간의 데이터 동기화를 위해 자주 사용하는 명령어들이다. 정리 해두면 좋은 명령어. 백업하는 명령어 > mysqldump -u root -p [backup target database name] > [backup filename.sql] 백업된 파일로 복원하는 명령어. > myql -u root -p [복원하려는 database name] < [백업했던 파일명].sql 각, 백업과 복원 명령어가 조금 다르다. mysqldump의 경우 백업하는 MySQL버전과 복원하려는 MySQL버전이 서로 다르면 오류가 날 수 있다. mysqldump관련해서는 별도로 버전 및 오류에 대해 준비를 하는 것이 좋다. 2023. 2. 22.
Mariadb 쿼리 실행계획 참조표 (EXPLAIN) 오늘은 마리아디비의 쿼리 실행계획이 궁금한 날이다. 예전 기억에 MS-SQL의 경우 쿼리실행 계획을 하게 되면 문제가 되는 테이블과 예상 시간, 인덱스 등에 대해 좀더 자세히 볼 수 있었던 것 같은데 마리아디비에서는 잘 모르겠다. 쿼리 실행계획을 수행하기 위해서는 EXPLAIN 쿼리 결과로 나온 내용은 무슨 말인지 전혀 모르겠다. 마리아디비 사이트에서 한글 번역을 해서 참조로 올려둔다. id 순서 테이블이 조인되는 순서를 나타내는 순서 번호입니다. select_type 어떤 종류의 SELECT테이블이 나옵니다. table 테이블의 별명 이름. 하위 쿼리의 구체화 된 임시 테이블 이름은 입니다. type 테이블에서 행을 찾는 방법 (결합 유형) possible_keys 테이블에서 행을 찾는 데 사용할 수있.. 2020. 2. 12.
반응형