2012-05-14 34 views
42

Có một số sql_mode giá trị trong MySQL:Làm cách nào tôi có thể thấy giá trị cụ thể của sql_mode?

ANSI,

IGNORE_SPACE,

STRICT_TRANS_TABLES, vv

Làm thế nào tôi có thể thấy một trong những giá trị cụ thể không? Hướng dẫn sử dụng cho biết:

Bạn có thể truy xuất chế độ hiện tại bằng cách phát hành câu lệnh SELECT @@ sql_mode .

Nhưng nó chỉ hiển thị không có gì, chỉ một trường trống trong bảng có tên là @@sql_mode làm tên cột.

Trả lời

64

Chỉ trống cho bạn vì bạn chưa đặt sql_mode. Nếu bạn cài đặt nó, sau đó truy vấn mà sẽ hiển thị cho bạn những thông tin chi tiết:

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

Cảm ơn bạn, tính năng này hoạt động. Nhưng một số người trong số họ có giá trị mặc định của họ. Tôi có nghĩa là tôi muốn xem mặc định mà không cần thiết lập giá trị. Hoặc nó không thể? – Green

+1

Các chế độ kết hợp được ghi lại ở đây: http://dev.mysql.com/doc/refman/5.5/en/server-sql-mode.html. Ví dụ, ở đây bạn có thể thấy 7 chế độ nào bao gồm chế độ kết hợp ORACLE: http://dev.mysql.com/doc/refman/5.5/en/server-sql-mode.html#sqlmode_oracle –

+1

"Chế độ SQL mặc định là trống (không có chế độ nào được đặt). " Trích dẫn từ trang hướng dẫn quản trị máy chủ MySQL cho [Chế độ SQL máy chủ] (http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html). Tôi giải thích rằng có nghĩa là _none_ của sql_mode đặc biệt được đặt ra khỏi hộp. –

2

Bạn cũng có thể thử này để xác định dòng điện toàn cầu giá trịsql_mode:

SELECT @@GLOBAL.sql_mode; 

hoặc phiênsql_mode giá trị:

SELECT @@SESSION.sql_mode; 

Tôi cũng có cảm giác rằng Chế độ SQL thực sự trống.

Các vấn đề liên quan