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

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

ANSI,

IGNORE_SPACE,

STRICT_TRANS_TABLES

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

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

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



답변

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)


답변

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

SELECT @@GLOBAL.sql_mode;

또는 세션 sql_mode 값 :

SELECT @@SESSION.sql_mode;

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


답변