sql_mode의 특정 값을 어떻게 볼 수 있습니까?


94

sql_modeMySQL 에는 몇 가지 값 이 있습니다 .

ANSI,

IGNORE_SPACE,

STRICT_TRANS_TABLES

하나의 특정 값을 어떻게 볼 수 있습니까? 매뉴얼은 다음과 같이 말합니다.

SELECT @@ sql_mode 문을 실행하여 현재 모드를 검색 할 수 있습니다.

그러나 @@sql_mode열 이름으로 테이블에 빈 필드 하나만 표시 됩니다.

답변:


144

sql_mode를 설정하지 않았기 때문에 공백입니다. 설정하면 해당 쿼리에 세부 정보가 표시됩니다.

mysql> SELECT @@sql_mode;
+------------+
| @@sql_mode |
+------------+
|            |
+------------+
1 row in set (0.00 sec)

mysql> set sql_mode=ORACLE;
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @@sql_mode;
+----------------------------------------------------------------------------------------------------------------------+
| @@sql_mode                                                                                                           |
+----------------------------------------------------------------------------------------------------------------------+
| PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER |
+----------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

2
감사합니다. 작동합니다. 그러나 그들 중 일부는 기본값이 있습니다. 값을 설정하지 않고 기본값을보고 싶었습니다. 아니면 불가능합니까?
Green

1
조합 모드는 모두 dev.mysql.com/doc/refman/5.5/en/server-sql-mode.html에 문서화되어 있습니다 . 예를 들어 여기에서 ORACLE 조합 모드를 구성하는 7 가지 모드를 확인할 수 있습니다. dev.mysql.com/doc/refman/5.5/en/…
Ike Walker

1
"기본 SQL 모드는 비어 있습니다 (설정된 모드 없음)." 서버 SQL 모드에 대한 MySQL 서버 관리 매뉴얼 페이지에서 인용 . 나는 특별한 sql_mode가 기본적으로 설정되어 있지 않다는 것을 의미한다고 해석합니다 .
Mister_Tom 2013

@IkeWalker, 기본적으로 ( "공백"모드) 모든 PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER등이 설정 되지 않은 것과 동일한 의미 입니까? 아니면 그들 중 일부가 설정되었지만 단순히 기본적으로 표시되지 않는다는 의미입니까?
Pacerier

1
@Pacerier 전자가 맞습니다. @@ sql_mode가 비어 있으면 ( "blank"모드라고 부르는) sql_mode가 설정 되지 않은 것입니다. 실행중인 MySQL 버전에 따라 다르기 때문에 기본 sql_mode에 대해서는 언급하지 않겠습니다.
Ike Walker

23

현재 전역 sql_mode 값 을 확인하기 위해 이것을 시도 할 수도 있습니다 .

SELECT @@GLOBAL.sql_mode;

또는 세션 sql_mode 값 :

SELECT @@SESSION.sql_mode;

SQL 모드 가 실제로 비어 있다는 느낌도 들었습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.