「MySQL - テーブル」の版間の差分

ナビゲーションに移動 検索に移動
139行目: 139行目:
* MySQL 8
* MySQL 8
*: https://dev.mysql.com/doc/refman/8.0/en/charset-mysql.html
*: https://dev.mysql.com/doc/refman/8.0/en/charset-mysql.html
<br>
==== 使用できる照合順序の確認 ====
使用できる文字コードと照合順序の組み合わせは、<code>INFORMATION_SCHEMA</code>データベースの<code>COLLATION_CHARACTER_SET_APPLICABILITY</code>テーブルから確認できる。<br>
利用できる照合順序がMySQLのバージョンによって異なるため、どのような照合順序が使用できるかどうかを確認する必要がある。<br>
<syntaxhighlight lang="mysql">
SELECT COLLATION_NAME,CHARACTER_SET_NAME
    FROM INFORMATION_SCHEMA.COLLATION_CHARACTER_SET_APPLICABILITY
    WHERE COLLATION_NAME='<照合順序>';
-- 例: 照合順序にutf8mb4_general_ciが使用できるかどうかを確認
SELECT COLLATION_NAME,CHARACTER_SET_NAME
    FROM INFORMATION_SCHEMA.COLLATION_CHARACTER_SET_APPLICABILITY
    WHERE COLLATION_NAME='utf8mb4_general_ci';
</syntaxhighlight>
<br>
==== カラムの文字コードと照合順序の確認 ====
<syntaxhighlight lang="mysql">
SELECT COLUMN_NAME, CHARACTER_SET_NAME, COLLATION_NAME
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE table_name = '<テーブル名>'
    AND table_schema = '<データベース名>'  -- オプション
    AND column_name LIKE '<ワイルドカード>'  -- オプション
</syntaxhighlight>
<br>
<br>


案内メニュー