MariaDB sql_mode STRICT_TRANS_TABLES ( NULL 값이 입력되는 경우 에러처리)

기존 MariaDB에서 데이터를 입력시에 데이터값에 아무런 정보가 들어가지 않아도 문제가 발생되지 않았다
근데 기존 버전 10.1.38 버전에서는 문제없이 잘 입력되던데 10.4.7 버전으로 올리면서 저장이 되지 않는다

확인을 해보니 10.2.4 버전 이후로는 sql_mode에서 STRICT_TRANS_TABLES 값이 기본값으로 되어 있다
이모드로 되어 있는경우 데이터입력시에 빈공간으로 데이터를 입력시에 에러가 발생되게 해주는 모드이다
기존에는 데이터가 없을경우 기본 NULL값으로 데이터 입력이 되었는데 그럼 한번 확인해보자.

MariaDB 10.1.38 기본 모드에서 테이블 생성 후 작업 / 정상적으로 데이터값에 아무런 ” 입력이 없어도 정상적으로 입력이 된다

그럼 기본 모드의 sql_mode의 환경설정값을 확인해보자

그럼 이제 MariaDB 10.4.7 버전에서 동일하게 진행해보자 / 데이터값이 아무런값이 없을경우 저장이 안된다.

sql_mode의 값을 확인해보자

기본 sql_mode에 뭔가 여래개의 옵션이 있는데 이중에 STRICT_TRANS_TABLES  모드가 있어 데이터에 입력값이 없을경우 에러처리를 진행하게된다

그럼 기존에 만들어 두었던 웹페이지에서 에러가 발생하기 때문에 이모드는 제외시키자

mariadb 재시작

sql_mode 확인

이제 데이터를 다시 입력해보는데 값을 없이 입력을 진행해보자  정상적으로 처리가 된다

무조건 최신버전이 좋지는 않는것이다 보안정책이나 여러가지 업데이트로 인해 기존 사이트들은 문제가 발생할수 있는 여지가 있다

참고사이트 : https://mariadb.com/kb/en/library/sql-mode/

코멘트 쓰기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

다음의 HTML 태그와 속성을 사용할 수 있습니다:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



배송정보
배송조회를 하시려면 송장번호를 클릭하세요
배송조회
상품명
주문번호
택배사
송장번호