programming/Mysql (7) 썸네일형 리스트형 MySQL 1292: Truncated incorrect DOUBLE value: ' ' 해결 2021.11.30 아래와 같이 돌렸을 때에 문제 발생 1292: Truncated incorrect DOUBLE value: ' ' UPDATE BP_COMPANY SET ModDate = '20211130142700' WHERE CompId IN (SELECT * FROM (SELECT A.CompId FROM BP_COMPANY A RIGHT JOIN( SELECT D.CompId FROM (SELECT D.CompId, COUNT(D.EntryId) AS '총회선수' FROM BP_PRODENTRY D WHERE D.UseFlag = 'Y' GROUP BY D.CompId ) D LEFT JOIN (SELECT C.CompId, COUNT(Case When C.ProgState = 4 then 1.. [MySQL] Table ~ is specified twice, both as a target for 'UPDATE' and as a separate source for data 2021.11.30 Company data에 일괄적으로 update 치려다 발생 오류발생 쿼리문 UPDATE BP_COMPANY SET PresidentName = '', RegistNum = '' WHERE CompId IN (SELECT A.CompId FROM BP_COMPANY A RIGHT JOIN( SELECT D.CompId FROM (SELECT D.CompId, COUNT(D.EntryId) AS '총회선수' FROM BP_PRODENTRY D WHERE D.UseFlag = 'Y' GROUP BY D.CompId ) D LEFT JOIN (SELECT C.CompId, COUNT(Case When C.ProgState = 4 then 1 When C.ProgState = 5 then 1.. MySQL 다중 select의 늪... 21.11.30 SELECT D.CompId, D.총회선수, C.해지해제회선 FROM (SELECT D.CompId, COUNT(D.EntryId) AS '총회선수' FROM BP_PRODENTRY D WHERE D.UseFlag = 'Y' GROUP BY D.CompId ) D LEFT JOIN (SELECT C.CompId, COUNT(Case When C.ProgState = 6 then 1 When C.ProgState = 4 then 1 end) as '해지해제회선' FROM BP_PRODENTRY C WHERE C.UseFlag = 'Y' GROUP BY C.CompId ) C ON D.CompId = C.CompId WHERE C.해지해제회선 >= D.총회선수 GROUP BY D.CompId.. mysql select count, left join, 다중 select, 서브쿼리, Group by, SELECT 후 DELETE [목적] 등록된 회선 수와 해지 상태의 회선 수가 일치하는 경우 데이터 삭제 SELECT D.CompId, D.Cntentry FROM (SELECT D.CompId, count(D.EntryId) as CntEntry FROM BP_PRODENTRY D GROUP BY D.CompId ) D LEFT JOIN (SELECT C.CompId, COUNT(case when C.ProgState=4 then 1 end) as status FROM BP_PRODENTRY C GROUP BY C.CompId ) as C ON D.CompId = C.CompId WHERE C.status >= D.Cntentry GROUP BY D.CompId DELETE FROM BP_PRODENTRY WHERE CompId .. 외부 접속 허용, 권한 부여 문제 Access denied for user 'userid'@'ip' (using password: YES)} 2021.11.19 [에러 메세지] Access denied for user 'userid'@'ip' (using password: YES)} 1. mysql root 접속 mysql -uroot -p 2. 외부 접속 권한 허용해주기 mysql> grant all privileges on *.* to ‘userid’@‘허용ip’ identified by ‘password’; 3. 외부 원격 접속 테스트 mysql -h192.168.xx.xxx -uuserid -p [MariaDB] Illegal mix of collations (euckr_korean_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation 'like' [Error Message] Illegal mix of collations (euckr_korean_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation 'like' [해결] 기존 서버와 다르게 세팅되어 있는 부분들을 찾아보았다. 정상 서버의 경우 MariaDB [(none)]> show variables like 'c%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | euckr | | charact.. [MySQL] FULL OUTER JOIN을 원한다면 SQL문 초짜의 헤매다 헤맨 결과. 내가 원하는 결과는 오라클의 FULL OUTER JOIN 으로는 쉽게 조회가 되는 듯 했다. 사실 저 FULL OUTER JOIN을 찾아내기까지도 힘들었다만은, LEFT, RIGHT JOIN에 OUTER를 걸었다 풀었다 별 짓을 다해도 내가 원하는 값이 나오지 않았다. 이미 각자 SELECT한 결과인 A,B를 조인해서 결과를 만들고 싶었는데 A,B 양쪽 모두 결과값이 있을 때가 있기도 하고 없기도 하다. 그럼 LEFT, RIGHT 기준을 세울 수가 없어서 혼자 이 짓 저 짓 별 짓 다해보다 자문을 구했는데 아래처럼 해결하면 된다고 한다. (A LEFT JOIN B) UNION (A RIGHT JOIN B) 이전 1 다음