안녕하세요..
MySQL로 계층형 게시판 리스트 조회하는 쿼리를 짜고있는데요...
테스트시 Data too long 오류가 나서 질문드립니다.
컬럼은 NTT_ID, PARENT_NTT_ID 이렇게 있고
최상위 게시물은 PARENT_NTT_ID 가 NULL이며
답글 게시물은 PARENT_NTT_ID에 부모의 NTT_ID 값이 INSERT 됩니다.
WITH RECURSIVE CTE AS ( SELECT NTT_ID , NTT_ID AS BD , PARENT_NTT_ID FROM NTT WHERE UPPER_NTT_ID UNION ALL SELECT NTT_ID , CONCAT(CTE.BN, ",", A.NTT_ID) AS BN , PARENT_NTT_ID FROM NTT ) SELECT NTT_ID , BN , PARENT_NTT_ID FROM CTE;
이런식...
근데 테스트 도중(연속해서 답글 게시물 생성) Data too long 오류가 발생합니다 ㅠㅠ
CONVERT(CONCAT(CTE.BN, ",", A.NTT_ID), CHAR(9999999)) 이런식으로 변환을 해봐도 오류가 뜨는데
어떻게 하면 좋을지... 조언을 구합니다 ㅠ
CONCAT(CTE.BN, ",", A.NTT_ID) 의 길이가, insert 대상의 컬럼 크기보가 커서 발생하는 문제입니다.
컬럼크기를 늘려주세요.
테이블에 있는 컬럼이 아니라 쿼리에서 생성한 컬럼인데 컬럼크기를 어떻게 늘려주면 될까요? ㅠㅠ
SELECT ntt_id
-- , ntt_id AS bd
, CAST(ntt_id AS VARCHAR(9999)) bd
감사합니다 ㅠㅠ 왜 위에서 해볼 생각은 안하고 아래에다가만 작업했는지 ㅠㅠㅠ