IT/mysql 4

[myslq] 서브쿼리를 별칭(subquery_alias)으로 정의

쿼리를 실행하는데 이런 에러가 발생했다.check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line  1111라인에 문제가 있다는 건데 뭐가 문제인가 한참을 고민했다.SELECT *FROM ( SELECT * FROM COIN_MAP WHERE 1=1 AND amt 문제는 mysql에서는 서버쿼리에 alis를 달아 주어야 한다.아래처럼 수정을 해주면 정상적으로 실행이 된다.SELECT *FROM ( SELECT * FROM COIN_MAP WHERE 1=1 AND amt

IT/mysql 2024.07.18

[mysql] 툴에서 변경한 내용이 프로그램에 적용 안되는 현상

개인적인 프로젝트를 파이썬과 마리아디비를 이용하고 있다.근데 이제 외부 디비툴에서 변경한 내용은 프로그램을 껐다가 다시 켜야지만이 다시 적용되는 현상이 발생되었다.이는 트랜잭션 격리 수준이 높으면 발생할 수 있는 현상이다.일반적으로 트랜잭션 격리 수준이 READ COMMITTED나 REPEATABLE READ로 설정되어 있을 때 이러한 문제가 발생할 수 있다.간단하게 아래 내용을 적용해 보면 해당 문제인지 확인이 가능하다.cursor.execute("SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;")설정 파일을 변경하려면 아내 내용을 추가해 주면 된다.[mysqld]transaction-isolation = READ-UNCOMMITTED

IT/mysql 2024.07.17

[mysql] 타임존 확인 및 시간대 변경

얼마 전 도커의 도입으로 디비를 이전하는 작업을 했었다.모든 게 순조롭게 잘 끝났나 했더니 오늘 문제가 발견이 되었다.로그를 확인하는데 시간대가 이상한 거다.그래서 간단하게 확인 및 변경하는 방법을 알아보았다.타임존 확인 및 현재시간 확인SELECT NOW(), @@system_time_zone AS TimeZone;이렇게 확인을 해보니 기본 값인 UTC로 적용이 되어 있었다.시간대 변경SET GLOBAL time_zone = '+9:00';SET time_zone = '+9:00'; 도커에서 시간대 변경TZ=Asia/Seoul를 적어 주면 된다.version: '3.8'services: maria: image: mariadb:10.5.8 container_name: maria port..

IT/mysql 2024.04.19

SQL Error [1093] [HY000]: Table 'table_name' is specified twice, both as a target for 'INSERT' and as a separate source for data 에러

오라클 생각해서 이런씩으로 쿼리를 사용했다. 1 2 INSERT INTO stcok.NEWS_DETAIL(SEQ, QUERY, TITLE, HREF, SITE) VALUES((select max(seq)+1 from stcok.NEWS_DETAIL),'특징주' , 'title', 'url','NAVER'); cs 하지만 value안에 쿼리문은 지원을 하지 않았다. 방법은 아래처럼 변경을 하면 된다. 1 2 3 INSERT INTO stcok.NEWS_DETAIL (SEQ, QUERY, TITLE, HREF, SITE) SELECT MAX(SEQ) + 1, '특징주', 'title', 'url', 'NAVER' FROM stcok.NEWS_DETAIL; Colored by Color Scripter cs

IT/mysql 2024.02.29