본문 바로가기

MySQL5

[MySQL]Uncaught TypeError: value.replace is not a function 해결 🔍 원인 .replace is not a function오류는 보통 replace하려고 하는 데이터가 숫자일때 발생해서 데이터를 String 값으로 변경해주면 해결할 수 있다. 나의 경우는 쿼리에서 Date포맷팅 안해줘서 발생했다. ㅎㅎ.. 💡 해결 , DATE_FORMAT(ADD_DATE, '%Y-%m-%d %H:%i:%s') AS ADD_DATE 쿼리를 위와 같이 변경해주니 해결됐다! 2024. 2. 2.
[MySQL]Lock wait timeout exceeded; try restarting transaction 🔍 원인 사용하고 있는 테이블에 Lock이 걸려 있는 상태에서 다른 세션의 사용자가 같은 테이블에서 작업을 수행 할 때, Lock 대기시간이 초과되면 발생하는 에러이다. 💡 해결 해결 방법은 Lock을 확인하고 세션을 죽여주면 된다. 현재 이상이 있는 프로세스들을 조회 해주고 -- 프로세스 리스트 표시 SHOW PROCESSLIST -- 락테이블 조회 select * from information_schema.innodb_locks; -- 대기중인 락 조회 select * from information_schema.innodb_lock_waits; -- 트랜잭션조회 select * FROM information_schema.INNODB_TRX; 명령어를 통해 강제로 종료시켜준다. -- KILL KILL .. 2024. 2. 1.
[MySQL] 문자열 합치기 - CONCAT 이번에 사용자가 날짜 데이터를 년-월 로 입력시키면 DB에는 년-월-01로 INSERT시켜야하는 경우가 있어서 사용했던 CONCAT을 정리해보려고한다. CONCAT TEMP_TABLE이 다음과 같고 GREETING NAME 안녕하세요 까부 반갑습니다 깨부 Hello 깐부 아래와 같이 쿼리를 작성해주면 SELECT CONCAT(GREETING, '! 저는 ', USER_NAME, '입니다.') AS USER_GREETING FROM TEMP_TABLE 다음과 같은 결과가 나온다. USER_GREETING 안녕하세요! 저는 까부입니다. 반갑습니다! 저는 깨부입니다. Hello! 저는 깐부입니다. 2023. 11. 16.
[MySQL]특정 값을 조건에 따라 변경해서 출력하기 - CASE문 우선 테이블은 다음과 같다. TEMP_CD STATUS 100001 10 100002 00 100003 10 100004 20 100005 00 CASE WHEN THEN 문 사용하기 아래와 같이 쿼리문을 작성해 주면 SELECT TEMP_CD , CASE STATUS WHEN '00' THEN '신규' WHEN '10' THEN '등록완료' WHEN '20' THEN '승인대기' END AS STATUS FROM TEMP_TABLE 이런 결과가 출력된다. TEMP_CD STATUS 100001 등록완료 100002 신규 100003 등록완료 100004 승인대기 100005 신규 이를 정리해 보면 다음과 같다. SELECT TEMP_CD , CASE 컬럼명 WHEN 조건1 THEN 조건1 성립시 값 W.. 2023. 11. 15.
[DB] 키 값, 유일한 값, 고유한 값 만들기(Identity 값, MAX + 1, ROW_NUMBER()) 데이터베이스 테이블에 키 값이나 유일한 값을 넣을 때 사용하고 있는 방법들을 정리해보았다. 상황에 따라 더 효율적인 방법을 사용해야 하기때문에 긴가민가 할때에는 선배들에게 조언을 구한 뒤 사용한다. 개발 경험과 공부가 더 필요할 것 같다. Identity 값 주로 primary key역할을 하는 컬럼에 할당되는 값으로 새로운 레코드가 추가될 때마다 자동으로 증가하는 고유한 값을 생성한다. 우리는 기본키로는 사용하지 않고, 그리드에 뿌려 특정 행을 잡을 때 사용한다. DB마다 상이한 채번룰을 사용하는데 몇개의 예시를 들어보자면 아래와 같다. MySQL CREATE TABLE temp_table ( ID INT AUTO_INCREMENT PRIMARY KEY ); MSSQL CREATE TABLE temp_.. 2023. 11. 3.
728x90