2012-08-24 24 views
6

Tôi không thể tìm ra truy vấn nào để chạy để xem collation hiện tại được đặt cho một cơ sở dữ liệu mysql.Truy vấn Mysql để khám phá collation cơ sở dữ liệu mặc định hiện tại (thông qua ứng dụng dòng lệnh)

Tôi biết tôi có thể thay đổi nó chạy một truy vấn như thế này:

ALTER DATABASE db_name 
[[DEFAULT] CHARACTER SET charset_name] 
[[DEFAULT] COLLATE collation_name] 

nhưng tôi không muốn làm điều đó mà không biết giá trị hiện tại.

Tôi nghĩ rằng nó thực sự có thể bởi vì trong phpmyadmin bạn có thể thấy giá trị hiện tại trong tab hoạt động của cơ sở dữ liệu của bạn, nhưng tôi cần phải làm điều đó thông qua ứng dụng dòng lệnh và sau khi googling một chút tôi không tìm thấy câu trả lời.

Có lẽ tôi sẽ mở mã phpmyadmin để khám phá nó .. trước khi thực hiện, có ai biết đó là truy vấn đúng không?

Xin cảm ơn trước.

Trả lời

13

Tự tìm hiểu, xem mã phpmyadmin.

Tùy thuộc vào phiên bản mysql, truy vấn để chạy là thế này:

SELECT DEFAULT_COLLATION_NAME FROM data_dictionary.SCHEMAS WHERE SCHEMA_NAME = 'nameOfMyDb' LIMIT 1; 

hoặc

SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = 'nameOfMyDb' LIMIT 1; 
5
show variables like "%collat%" 
+0

Cảm ơn, thật thú vị nhưng tôi nghĩ rằng đó là những giá trị mặc định của cấu hình mysql, sử dụng như mặc định khi bạn tạo một db mới (tôi đoán). Điều gì cho một cơ sở dữ liệu cụ thể? – lucke84