MySQL 모드 Strict Mode 지식 점 상세 설명
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 에 관 한 더 많은 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 읽 어 주시 기 바 랍 니 다.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다. Redash란? 월별로 데이터를 표시하고 싶습니다 주별로 데이터를 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.