본문 바로가기
반응형

DataBase/MySQL24

[펌] [MySQL] MySQL WITH 재귀쿼리 계층구조 MySQL 에서도 재귀쿼리가 된다;;너무 심플해서 울뻔;; ㅎㅎㅎ 참 마리아 디비에서도 된다. 테스트 해봄. [MySQL] MySQL WITH 재귀쿼리 계층구조 보통 WITH 문 재귀쿼리 를 이용해서 계층 구조를 나타내는데 사용한다. 일단 재귀쿼리란..? 재귀 - 원래의 자리로 되돌아가거나 되돌아옴 이란 뜻을 갖고 있다. 쉽게 생각하면 같은걸 반복한다고 생각하면 쉬울까.. 즉 재귀쿼리는 한 쿼리가 반복되어 실행된다고 생각하면 된다.이러한 반복 쿼리는 계층구조를 SELECT 할때 유용하게 쓰인다. 기본적으로 코드 테이블 구조를 만들때code 와 parent_code(부모코드) 컬럼으로 구성하게 되면계층구조로 select 하기 편해진다. WITH 문을 이용한 계층쿼리 부터 확인해보자 CODE_TABLEcod.. 2019. 1. 25.
Table '$TABLE_NAME' is specified twice, both as a target for 'UPDATE' and as a separate source for data 쓰면서 처음 보는 에러 발생;;; UPDATE 시에 대상 테이블의 값을 대상 테이블에서 직접 접근하여 조회하여 조건에 사용했을 경우 에러 발생.UPDATE 에서만 발생하는지는 모르겠음. 정리된 내용은 이러함.SELECT * FROM `TABLE` WHERE ID = 'JKUN.NET' AND IDX = ( SELECT MAX_IDX FROM (SELECT MAX(IDX) AS MAX_IDX FROM `TABLE` WHERE ID = 'JKUN.NET') ) _dummy ) 2018. 3. 5.
MySQL 정규식으로 치환 함수 MySQL 정규식으로 치환 함수DELIMITER $$ CREATE FUNCTION `regex_replace`(pattern VARCHAR(1000),replacement VARCHAR(1000),original VARCHAR(1000)) RETURNS VARCHAR(1000) DETERMINISTIC BEGIN DECLARE temp VARCHAR(1000); DECLARE ch VARCHAR(1); DECLARE i INT; SET i = 1; SET temp = ''; IF original REGEXP pattern THEN loop_label: LOOP IF i>CHAR_LENGTH(original) THEN LEAVE loop_label; END IF; SET ch = SUBSTRING(orig.. 2017. 2. 2.
UNIXTIME 관련 함수 1. UNIXTIME(타임스탬프) → DATE FROM_UNIXTIME('1485874832', '%Y%m%d %H%i%s') 2. DATE → UNIXTIME UNIX_TIMESTAMP() UNIX_TIMESTAMP('YYYY-MM-DD HH:mm:ss') 2017. 2. 2.
반응형