MySQL 모드 Strict Mode 지식 점 상세 설명

1825 단어 MySQLStrict
I.엄격 한 모드 논술
mysql 5.0 이상 버 전 strict mode(STRCTTRANS_TABLES)의 제한:
1).not null 필드 에 null 값 삽입 은 지원 되 지 않 습 니 다.
2).성장 필드 에'값'을 삽입 하 는 것 은 지원 되 지 않 습 니 다.null 값 을 삽입 할 수 있 습 니 다.
3).text 필드 에 기본 값 이 있 는 것 은 지원 되 지 않 습 니 다.
다음 코드 보기:(첫 번 째 필드 는 자체 증가 필드)
Sql 코드

$query="insert into demo values('','$firstname','$lastname','$sex')"; 
위의 코드 는 비 strict 모드 에서 만 유효 합 니 다.
코드 코드

$query="insert into demo values(NULL,'$firstname','$lastname','$sex')"; 
위의 코드 는 strict 모드 에서 만 유효 합 니 다.빈 값 을 NULL 로 바 꿨 습 니 다.
II.데이터베이스 에 Strict Mode 지원
1.데이터베이스 구 조 를 다음 과 같이 개선 하여 strict mode 를 지원 합 니 다.
1)모든 not null 필드 에 비 null 기본 값 을 설정 합 니 다.문자열 의 기본 값 은'',수치 기본 값 은 0,날짜 기본 값 은'0000-00-00 00 00:00'입 니 다.
2)text 필드 의 기본 값 제거
3)규범화 개선:title 필드 를 varchar(255)로 통일 하고 기본 값 이 있 는 null 필드 를 not null 필드 로 변경 합 니 다.
2.설 치 된 PHP 프로그램 데이터베이스 구조 가 Strict mode 를 닫 으 면
1).하 나 는 mysql 5.0(이상 포함)버 전 을 설치 할 때 strict mode 를 제거 합 니 다.
my.cnf 를 편집 하고 Strict 모드 를 닫 습 니 다.

sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
2).다른 하 나 는 검색 어 를 수정 하 는 것 이다.예컨대

if ($this->dbcharset) {
@mysql_query("SET NAMES ".$this->dbcharset);
}
뒤 집행

mysql_query("SET @@sql_mode = ''");
MySQL 5 를 사용 하고 있 는 지 확인 하 세 요.
my sql 방식 이 유사 합 니 다.

mysqli_query($this->connection_id, "SET @@sql_mode = ''");
이 쯤 에서 MySQL 모드 Strict Mode 에 대한 지식 에 대한 자세 한 설명 은 여기까지 입 니 다.MySQL 모드 Strict Mode 에 관 한 더 많은 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 읽 어 주시 기 바 랍 니 다.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기