작은 부분이지만, 추후 오류를 발생시킬 수 있는 부분으로,
MariaDB의 경우 호환성 모드로 동작을 하는데 특정 조건에 맞지 않는 경우 자동으로 판단하여 데이터를 입력하게 된다.
(예, unsigned 컬럼에 -1 이 입력되면 자동으로 0 으로 변환)
이러한 이유가 발생하는 이유는 STRICT_ALL_TABLES, STRICT_TRANS_TABLES 가 꺼져있어서 발생하며, STRICT_ALL_TABLES, STRICT_TRANS_TABLES이 비활성화 되어 있으면 CHAR, VARCHAR 의 크기를 초과하는 데이터 입력시 에러를 발생하지 않고 가능한 크기 만큼 잘라서 넣게 된다.
이는 운영상 위험이 있을 수 있기 때문에 아래와 같이 STRICT_ALL_TABLES, STRICT_TRANS_TABLES 설정을 추가하도록 하자.
'OPTIONS': {
'init_command' : "SET sql_mode='STRICT_TRANS_TABLES'",
}
참고 자료
https://dev.mysql.com/doc/refman/8.0/en/server-options.html#option_mysqld_sql-mode
MySQL :: MySQL 8.0 Reference Manual :: 5.1.7 Server Command Options
5.1.7 Server Command Options When you start the mysqld server, you can specify program options using any of the methods described in Section 4.2.2, “Specifying Program Options”. The most common methods are to provide options in an option file or on t
dev.mysql.com
'Etc' 카테고리의 다른 글
Mac - 오른쪽 왼쪽 화면 코너 이용하기 <핫코너> (0) | 2022.10.12 |
---|---|
LTS(Long Term Support) - 버전 관리의 필요성 (0) | 2022.09.07 |
Docker - failed to compute cache key: "/. " not found: not found (0) | 2022.09.01 |
Mac - VSCode M1 한글 씹힘, 입력 문제 해결 (0) | 2022.08.08 |
Azure 코드 배포 Bicap (0) | 2022.08.03 |