>  기사  >  데이터 베이스  >  mysql에서 엄격 모드를 끄는 방법

mysql에서 엄격 모드를 끄는 방법

青灯夜游
青灯夜游원래의
2022-01-04 16:35:368971검색

mysql 엄격 모드를 끄는 방법: 1. mysql 구성 파일 "my.cnf"를 열고 편집합니다. 2. "sql-mode" 키워드를 검색하고 "sql-mode"의 관련 문을 주석 처리합니다. . mysql을 다시 시작하려면 "service mysqld restart" 명령을 사용하십시오.

mysql에서 엄격 모드를 끄는 방법

이 튜토리얼의 운영 환경: 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

확장된 지식: 엄격 모드와 비엄격 모드(완화 모드) 간의 비교

  • null이 아닌 필드에 null 값 삽입을 지원하지 않습니다.
  • 자체 증가 필드에 "값 삽입을 지원하지 않습니다.
  • 기본값이 있는 텍스트 필드를 지원하지 않습니다. ​​

예:

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.