mysql 엄격 모드를 끄는 방법: 1. mysql 구성 파일 "my.cnf"를 열고 편집합니다. 2. "sql-mode" 키워드를 검색하고 "sql-mode"의 관련 문을 주석 처리합니다. . mysql을 다시 시작하려면 "service mysqld restart" 명령을 사용하십시오.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, mysql8 버전, Dell G3 컴퓨터.
Mysql이 엄격 모드인지 확인하세요.
MySQL 구성 파일 my.cnf(Windows용 my.ini)를 엽니다.
검색 sql-mode 찾을 수 없으면 Non-Strict 모드를 의미합니다.
검색은 엄격 모드가 켜져 있음을 의미합니다. 예:
sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
엄격 모드 켜기 및 끄기
엄격 모드 켜기:
vi /etc/my.cnf #编辑mysql配置文件 搜索sql-mode关键字,若没有,在文件尾添加一行 替换成: sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION service mysqld restart 重启mysql
엄격 모드 끄기:
vi /etc/my.cnf #编辑mysql配置文件 搜索sql-mode关键字。注释sql-mode相关语句 #sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION service mysqld restart 重启mysql
확장된 지식: 엄격 모드와 비엄격 모드(완화 모드) 간의 비교
예:
CREATE TABLE `test_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `content` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1 null이 아닌 필드 삽입 null 값 테스트
레코드 삽입, 이름 값은 null
비엄격 모드에서 실행
mysql> insert into test_table(content) values('51ask'); Query OK, 1 row affected, 1 warning (0.00 sec) mysql> select * from test_table; +----+------+------------+ | id | name | content | +----+------+------------+ | 1 | | 51ask | +----+------+------------+ 1 row in set (0.00 sec) #执行成功
엄격 모드에서 실행
mysql> insert into test_table(content) values('51ask'); ERROR 1364 (HY000): Field 'name' doesn't have a default value #执行失败,提示字段name不能为null值
위의 세 가지 사항은 더 이상 하나씩 테스트해 보세요.
mysql 엄격 모드를 사용하면 데이터가 더 안전하고 엄격해질 수 있다는 것을 알 수 있습니다. 이는 빈 데이터 저장소의 호환성을 감소시키므로 코드 품질과 데이터 보호를 향상시키기 위해 엄격 모드를 사용하는 것이 좋습니다.
관련 권장 사항: mysql 비디오 튜토리얼, "Linux 튜토리얼"
위 내용은 mysql에서 엄격 모드를 끄는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!