mysqlはテーブルの照合をチェックします


106

テーブルの照合順序を確認するにはどうすればよいですか?私が見たいIE:

+-----------------------------+
|  table  |     collation     |
|-----------------------------|
| t_name  |  latin_general_ci |
+-----------------------------+

回答:



78

上記の答えは素晴らしいですが、実際には、ユーザーが構文を調べる必要がないようにする例は提供されていません。

show table status like 'test';

testテーブル名はどこですか。

(以下のコメントに従って修正されています。)


14

INFORMATION_SCHEMA.TABLES特定のテーブルの照合をクエリして取得することもできます。

SELECT TABLE_SCHEMA
    , TABLE_NAME
    , TABLE_COLLATION 
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 't_name';

それはSHOW TABLE STATUS多くの無関係な情報が含まれているのとは対照的にはるかに読みやすい出力を提供します。


照合順序は列にも適用できることに注意してください(照合順序はテーブル自体とは異なる場合があります)。特定のテーブルの列の照合をフェッチするには、次のクエリを実行できますINFORMATION_SCHEMA.COLUMNS

SELECT TABLE_SCHEMA 
    , TABLE_NAME 
    , COLUMN_NAME 
    , COLLATION_NAME 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 't_name';

2
mariaDB 10.4のための作品集
Tarator

8

このクエリを使用します。

SHOW CREATE TABLE tablename

テーブルに関連するすべての情報を取得します。


3
SHOW CREATE TABLEは照合を表示しません。上記のようにSHOW TABLE STATUSを使用する必要があります。
KateYoak

1
mysql 5.5.52で動作します。...) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=latin1私の推測では、mysql / mariadbの新しいバージョンでデータベースのデフォルトに設定されている場合、照合が表示されない可能性があります。
DeveloperChris

1
@DeveloperChris表示するのは照合ではなく文字セットです。2つの表は、同じ文字セットを有することができるutf8が、異なる照合順序utf8_general_ciutf8_unicode_ci。これにより、このようなエラーメッセージが表示されることがありHY000, 1267, Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='ます。
Dewi Morgan

0

このコマンドは、

mysql> use <database name> 

mysql> show table status like '<table name>';

+------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+---------------------+------------+--------------------+----------+----------------+---------+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time         | Check_time | Collation          | Checksum | Create_options | Comment |
+------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+---------------------+------------+--------------------+----------+----------------+---------+
| test | InnoDB |      11 | Dynamic    |   52 |            315 |       16384 |               0 |            0 |         0 |             59 | NULL        | 2020-04-16 23:00:00 | NULL       | utf8mb4_unicode_ci |     NULL |                |         |
+------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+---------------------+------------+--------------------+----------+----------------+---------+
1 row in set (0.01 sec)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.