HOME > 이용안내
이용안내
 
작성일 : 19-08-14 11:19
[DB] [mysql]MySQL 5.6 SQL STRICT 모드 변경 방법
 글쓴이 : 제이네트워크
조회 : 117  

[MySQL 5.6 SQL STRICT 모드 변경 방법]


MySQL 5.x 버전에서는  SQL 모드의 기본 값이 strict mode 모드 입니다.
MySQL 버전을 상위버전으로 업그레이드 할 경우 NULL 값으로 인하여 오류가 생기는 문제가 많이 발생을 합니다


STRICT 모드에 따라서 어떤문제가 발생하는 가는 아래 예제를 참고 하세요


예) SMILE 컬럼에 NOT NULL 속성이 포함되어 있습니다.


STRICT 모드 : SMILE 컬럼에 꼭 값이 입력되어야 합니다.
STRICT 모드 비활성화 : SMILE 컬럼에 값이 공백 또는 NULL 값으로 해도 데이터가 입력이 됩니다.


SQL 모드의 종류는 mysql 홈페이지 url을 참고 하시면 됩니다.
http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html


 
1.SQL 모드 확인

mysql-5.6 버전은 기본값이 STRICT 모드가 활성화 되어 있습니다.

mysql> SELECT @@global.sql_mode;
+——————————————–+
| @@global.sql_mode |
+——————————————–+
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+——————————————–+
1 row in set (0.00 sec)



2 .데이터 입력 테스트

컬럼속성을 NOT NULL 로 생성합니다.

mysql> create table test (no int(10) unsigned not null AUTO_INCREMENT primarykey);
Query OK, 0 rows affected (0.04 sec)

+——-+——————+——+—–+———+—————-+
| Field | Type | Null | Key | Default | Extra |
+——-+——————+——+—–+———+—————-+
| no | int(10) unsigned | NO | PRI | NULL | auto_increment |
+——-+——————+——+—–+———+—————-+
1 row in set (0.00 sec)

 


[INSERT]

mysql> INSERT INTO SMILE.`test` (`no`) VALUES (‘1’);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO SMILE.`test` (`no`) VALUES (”);
ERROR 1366 (HY000): Incorrect integer value: ” for column ‘no’ at row 1

값을 입력할경우 정상적으로 입력이 되지만 NULL 또는 값을 입력하지 않을 경우에는 입력이 안되게 됩니다.

 


[STRITC 모드로 변경]

/etc/my.cnf
혹은
/usr/local/mysql/my.cnf  파일 2개를 변경해야 적용되는 경우도 있습니다. (해당 파일은설치 경로에 따라서 다릅니다)


sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
라는 구문을 찾아서


#sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
sql-mode=”NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”  로 변경합니다.



[모드 변경 환인]

mysql> SELECT @@global.sql_mode;
+————————+
| @@global.sql_mode |
+————————+
| NO_ENGINE_SUBSTITUTION |
+————————+
1 row in set (0.00 sec)


 
모드 변경 후 데이터 INSERT

mysql> INSERT INTO SMILE.`test` (`no`) VALUES (”);
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> INSERT INTO SMILE.`test` (`no`) VALUES (NULL);
Query OK, 1 row affected (0.00 sec)

STRICT 모드를 비활성화 한 후 데이터가 없거나, NULL 값으로 입력을 해도 정상적으로 데이터가

입력되는걸 확인할 수 있습니다.


mysql> select * from test;
+—-+
| no |
+—-+
| 1 |
| 2 |
| 3 |
| 4 |
+—-+


최신 버전을 사용할 경웨 위의 문제로인하여 데이터베이스 값을 입력시 오류가 발생 할 수 있으니
참고하시면 되겠습니다






Cloud server Streaming service Domain Cloud Firewall

 
 

Total 348

번호 제   목   글쓴이 날짜 조회
348 [DB] MSSQL2016 에서 서버유지관리/ 백업스케쥴 실행시 에러가 날때 제이네트워크 2019-08-22 26
347 [PHP] php에서 세션을 늘리는 방법 제이네트워크 2019-08-22 27
346 [DB] [mysql]MySQL 5.6 SQL STRICT 모드 변경 방법 제이네트워크 2019-08-14 118
345 [리눅스서버] vsftpd.conf 설정내용 제이네트워크 2019-08-14 149
344 [리눅스서버] 리눅스 메인보드 교체후 네트워크 재설정 제이네트워크 2019-07-04 579
343 [리눅스서버] SFTP 퍼미션 조정 및 chroot 설정으로 상위폴더 접근 제한하기 제이네트워크 2019-06-30 622
342 [리눅스서버] SFTP 접속만 가능한 계정 만들기] 제이네트워크 2019-06-30 673
341 [리눅스서버] CentOS7.x 버전에서 최신 node.js 설치하기 제이네트워크 2019-05-23 1184
340 [윈도우서버] 윈도우 설치 중 새 시스템 파티션을 만들거나 기존 시스템 파티션을 찾을 … 제이네트워크 2019-04-24 1441
339 [PHP] 그누보드5 서버이전 후 글 작성 및 member가입 작성안되는 경우 제이네트워크 2019-04-24 1090
338 [윈도우서버] 윈도우서버 com+ / dll 등록후 세션 로그아웃시 dll 적용안될 때 제이네트워크 2019-04-11 1563
337 [윈도우서버] 윈도우서버 com+ dll 등록방법] 제이네트워크 2019-04-11 1630
336 [윈도우서버] ERR_TOO_MANY_REDIRECTS 해결방법 제이네트워크 2019-03-30 1816
335 [리눅스서버] Wildcard SSL 인증서 설치시에러 [warn] _default_ VirtualHost overlap on port 443, 제이네트워크 2019-03-30 1947
334 [DB] MSSQL SERVER 테이블변경시 제한시간이 만료되었습니다. 라는 에러발생시 제이네트워크 2019-01-30 1571
333 [DB] MSSQL 1씩 자동증가값 제어(ID 사양 변경 안될 경우) 제이네트워크 2019-01-30 1612
332 [DB] mysql-5.7.x 이상 버전에서 비번 변경 후 에러가 나올 때 제이네트워크 2019-01-22 1762
331 [리눅스서버] mysqli.so php추가 모듈 설치 제이네트워크 2019-01-21 2653
330 [기타] [CloudFlare]클라우드플레어 사용시 클라이언트 실제 IP ADDRESS 찾기 제이네트워크 2019-01-19 2442
329 [리눅스서버] CentOs7 부팅시 rc.local 파일 실행되도록 설정 제이네트워크 2019-01-16 2625
328 [윈도우서버] iis 버전 버젼 version 확인 방법 제이네트워크 2019-01-14 2616
327 [윈도우서버] Windows 10 자동 업데이트 완전 끄기 제이네트워크 2019-01-11 2336
326 [윈도우서버] 윈도우서버 IIS7.5 다운로드 업로드 용량 늘리기 제이네트워크 2018-12-13 2615
325 [리눅스서버] CentOS7 SSH 접속포트 변경과 방화벽 오픈 제이네트워크 2018-12-10 3113
324 [기타] 크롬브라우저에서 플래시 항상허용후 설정값 저장하는 방법 제이네트워크 2018-12-01 2705
323 [DB] MSSQL2008 로그 줄이기 제이네트워크 2018-11-29 1977
322 [리눅스서버] NFS 연결오류시 mount.nfs: Input/output error 제이네트워크 2018-11-16 3693
321 [리눅스서버] [CentOS 7] Python 3을 Cent7에서 yum으로 인스톨 하는 방법 제이네트워크 2018-11-02 3541
320 [리눅스서버] [우분투서버 Ubuntu network device명 확인 및 변경] 제이네트워크 2018-06-21 4816
319 [윈도우서버] [윈도우10 원격데스크톱 오류 CredSSP 암호화 Oracle 수정 때문] 제이네트워크 2018-06-21 5004
318 [리눅스서버] CentOS7 SSH 실행방법 정리 제이네트워크 2018-06-16 4821
317 [기타] 윈도우7/윈도우10 winsxs 폴더 용량 줄이기 최적화 제이네트워크 2018-04-28 4576
316 [리눅스서버] VSFTP 에서 사용하는 port를 변경하기 제이네트워크 2018-04-26 5541
315 [리눅스서버] named 2차 네임서버로 zone transfer 권한 문제 제이네트워크 2018-04-13 5321
314 [리눅스서버] 리눅스 apache에서 동시 접속자 수 체크 제이네트워크 2018-03-30 5717
313 [메일] [다음- 스마트워크 MX 레코드 설정방법] 제이네트워크 2018-02-19 4983
312 [리눅스서버] swap 메모리 추가하기 제이네트워크 2017-12-07 5229
311 [DB] mtysql 5.7 이상버전에서 root 패스워드 변경시 제이네트워크 2017-11-25 3564
310 [윈도우미디어] 익명 사용자 인증 플러그 인 오류 때문에 Windows Media 서비스 시작할 수 없습… 제이네트워크 2017-11-25 4536
309 [리눅스서버] [리눅스서버] [리눅스서버]CentOS-6.9 yum 오류날때 제이네트워크 2017-11-08 5362
 1  2  3  4  5  6  7  8  9