반응형

Spring Data JPA를 Data insert 시킬경우 한글 데이터가 등록 되지 않고 에러가 발생한다. 

이를 해결해주기 위해서는 DB자체에 기본 charater set 설정을 해줘야합니다. 

Windows의 MariaDB를 설치하여 사용하는데 다음과 같이 설정하여 이를 해결해 주었습니다.

경로 : C:\Program Files\MariaDB 10.5\data\my.ini

[mysql]
default-character-set = utf8

[mysqld]
datadir=C:/Program Files/MariaDB 10.5/data
port=3306
innodb_buffer_pool_size=2041M
character-set-server = utf8
collation-server = utf8_general_ci
init_connect='SET NAMES utf8'

[client]
port=3306
plugin-dir=C:/Program Files/MariaDB 10.5/lib/plugin
default-character-set = utf8

728x90
반응형

mysql에서 update 쿼리를 날렸을 때 다음과 같은 에러가 나는 경우가 있다. 

Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: '-Infinity'

워니는 조건문에 필드 데이터가 비교할 수 없는 데이터가 존재해서 그런는 듯하다. 

나같은 경우는 IFNULL을 이용해서 해결하였다. 

ex) 

update [테이블명] set abc='abc' where field > 10  //이전

update [테이블명] set abc='abc' where IFNULL(field, 0) > 10 //이후



혹은 다른 사이트에서는 

update [테이블명] set abc='abc' and cde = 'cde' where field > 10 //이전

update [테이블명] set abc='abc' , cde = 'cde' where field > 10  //이후



and를 ,로 바꿔주라고 말하는 경우가 있는데 

나의 경우는 이미 , 였는데 해결이 되지 않아 ifnull 함수를 이용해서 해결하였다.

728x90
반응형

에러내용
 which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

수정사항

1) cd /etc/mysql/mysql.conf.d

2) vi mysqld.cnf

- 다음 내용 추가
[mysqld]  
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

3) 서버 재시작
service mysql restart

728x90

+ Recent posts