2021. 9. 15. 10:38ㆍDB이관
Utf8일때 오류발생했던 부분정리했던 것들이다.
보통 다 UTF8로 덕지덕지 하기때문에 당연히 새로 설치한 MariaDB에 기본적인 설정값들 또한 utf8로 했었다..
하지만 그게 문제가 될 줄이야..ㅠㅠ
결국 결론을 먼저 말하자면 utf8 --> utf8mb4 로모두 변경하였다.
utf8mb4은 간단하게 utf8의 상위호환으로 보면된다.
##기타오류들##
ID값이 TNGLAB 인 사용자가 2명 존재해서 PRIMARYKEY 관련해서 제대로 안들어가는듯함.
기본적으로 mysql은 대소문자 구별을 안하는형태임
Select * from member where id ='tnglab'; 수행한경우 pk값이 없을때 대문자,소문자 2개 다 나왔었음.
`ID` varchar(60) binary NOT NULL COMMENT '회원아이디', <<처럼 create table할때 binary 옵션값을 추가한 경우에는 대소문자를 구분함
Select * from member where id ='tnglab';
Select * from member where id ='TNGLAB';
2개를 각각 다른값을 가져옴.
##다른오류##
data too long for column QUERY 오류가 발생하여 쿼리길이 문제인줄 알았는데 varchar 4000까지 늘려줘도 해당오류 발생함
나중에 sql문등을 확인해봤더니 이스케이프 문자로 지정된 \(역슬래쉬)가 들어가있어서 제대로 insert가 안된듯함.
만약 insert문을 직접 넣고싶다면 다른방식으로 이스케이프 문자를 \이 아니라 여러개로 조합된 이스케이프문자로 변경해서 데이터를 뽑아오는걸 추천함.(ex @#``#@`` 와 같은걸 이스케이프 문자로 지정하면 잘못 잘릴일이 없음)
'DB이관' 카테고리의 다른 글
JAVA – Value ‘0000-00-00’ can not be represented as java.sql.Timestamp 에러해결 (0) | 2021.09.15 |
---|---|
MariaDB my.cnf 파일설정 (0) | 2021.09.15 |
Oracle, mariaDB 차이점 정리 (0) | 2021.09.14 |
Oracle With구문 ->Mysql 변환 (0) | 2021.09.14 |
Oracle wm_concat -> mysql group_concat (0) | 2021.09.14 |