MySQL 에서 SQL Mode 의 보기 와 설정 에 대한 자세 한 설명

2534 단어 MySQLSQLMode
MySQL 에서 SQL Mode 보기 및 설정
MySQL 은 서로 다른 모드 에서 실행 할 수 있 고 서로 다른 장면 에서 서로 다른 모드 를 실행 할 수 있 습 니 다.이것 은 주로 시스템 변수 sql 에 달 려 있 습 니 다.mode 의 값.본 고 는 주로 이 값 의 조회 와 설정 을 소개 하 는데 주로 Mac 시스템 에서 이 루어 진다.
모든 모델 의 의미 와 역할 에 대해 인터넷 에서 쉽게 찾 을 수 있 고 본 고 는 소개 하지 않 는 다.
역할 영역 과 시간 에 따라 세 션 단계,전역 단계,설정(영구 발효)단계 로 나 눌 수 있 습 니 다.
세 션 단계:
보기-

select @@session.sql_mode;
수정-

set @@session.sql_mode='xx_mode'
set session sql_mode='xx_mode'
session 은 모두 생략 할 수 있 습 니 다.기본 session 은 현재 세 션 에 만 유효 합 니 다.
전역 단계:
보기-
select @@global.sql_mode;
수정-

set global sql_mode='xx_mode';
set @@global.sql_mode='xx_mode';
고급 권한 이 필요 합 니 다.다음 연결 에 만 적 용 됩 니 다.현재 세 션(직접 테스트)에 영향 을 주지 않 습 니 다.또한 MySQL 재 부팅 후 실 효 됩 니 다.MySQL 재 부팅 시 설정 파일 의 대응 값 을 다시 읽 기 때 문 입 니 다.영구적 으로 적용 하려 면 설정 파일 의 값 을 수정 해 야 합 니 다.
설정 수정(영구 유효):
vi/etc/my.cnf 열기
아래 에 추가

[mysqld]
sql-mode = "xx_mode"
메모:[my sqld]는 반드시 추가 해 야 하 며,sql-mode 중간 은 밑줄 이 아 닌"-"입 니 다.
종료 저장 하고 서버 를 다시 시작 하면 영구적 으로 유효 합 니 다.
Mac 에 MySQL 을 설치 할 때 설정 파일 이 없 기 때문에 수 동 으로 추가 해 야 합 니 다.
ps
마지막 으로 추가 적 인 것 은 Mac 에서 MySQL 의 시작,정지,재 부팅 등 이다.
주로 두 가지 방식 이 있 는데,
첫째,'시스템 선 호 설정'에 대응 하 는 MySQL 패 널 을 클릭 하면 관 리 를 실현 할 수 있 습 니 다.
둘 째 는 명령 행 방식 이다.
MySQL 과 관련 된 실행 스 크 립 트 는 주로 다음 두 가지 입 니 다.

/usr/local/mysql/support-files/mysql.server
/usr/local/mysql/bin/mysql
my sql.server 는 서버 의 작 동 정지 등 을 제어 합 니 다.

mysql.server start|stop|restart|status
my sql 은 주로 서버 연결 에 사 용 됩 니 다.

mysql -uroot -p **** -h **** -D **
일부 sudo 권한 이 필요 하고 관련 경 로 를 환경 변수 에 추가 할 수 있 으 며 쓰기 도 간소화 할 수 있 으 며 어떻게 추가 하 는 지 에 대해 서 는 소개 하지 않 습 니 다.
지식 포인트 확장:
엄격 한 모드 논술
mysql 5.0 이상 버 전 strict mode(STRCTTRANS_TABLES)의 제한:
1).not null 필드 에 null 값 삽입 은 지원 되 지 않 습 니 다.
2).성장 필드 에'값'을 삽입 하 는 것 은 지원 되 지 않 습 니 다.null 값 을 삽입 할 수 있 습 니 다.
3).text 필드 에 기본 값 이 있 는 것 은 지원 되 지 않 습 니 다.
다음 코드 보기:(첫 번 째 필드 는 자체 증가 필드)

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

$query="insert into demo values(NULL,'$firstname','$lastname','$sex')";
위의 코드 는 strict 모드 에서 만 유효 합 니 다.빈 값 을 NULL 로 바 꿨 습 니 다.

좋은 웹페이지 즐겨찾기