SET [NAMES|CHARACTER SET]
The statements SET NAMES
, SET CHARACTER SET
and SET CHARSET
modify the variables character_set_client
, character_set_results
and character_set_connection
for the current connection.
Synopsis
- SetNamesStmt
SetNamesStmt ::=
"SET" ("NAMES" ("DEFAULT" | CharsetName ("COLLATE" ("DEFAULT" | CollationName))?) | ("CHARSET" | ("CHAR" | "CHARACTER") "SET") ("DEFAULT" | CharsetName))
Examples
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+--------------------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------------------+
| character_sets_dir | /usr/local/mysql-5.6.25-osx10.8-x86_64/share/charsets/ |
| character_set_connection | utf8mb4 |
| character_set_system | utf8 |
| character_set_results | utf8mb4 |
| character_set_client | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_server | utf8mb4 |
+--------------------------+--------------------------------------------------------+
8 rows in set (0.01 sec)
mysql> SET NAMES utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+--------------------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------------------+
| character_sets_dir | /usr/local/mysql-5.6.25-osx10.8-x86_64/share/charsets/ |
| character_set_connection | utf8 |
| character_set_system | utf8 |
| character_set_results | utf8 |
| character_set_client | utf8 |
| character_set_server | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
+--------------------------+--------------------------------------------------------+
8 rows in set (0.00 sec)
mysql> SET CHARACTER SET utf8mb4;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+--------------------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------------------+
| character_set_connection | utf8mb4 |
| character_set_system | utf8 |
| character_set_results | utf8mb4 |
| character_set_client | utf8mb4 |
| character_sets_dir | /usr/local/mysql-5.6.25-osx10.8-x86_64/share/charsets/ |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_server | utf8mb4 |
+--------------------------+--------------------------------------------------------+
8 rows in set (0.00 sec)
MySQL compatibility
The SET [NAMES|CHARACTER SET]
statement in TiDB is fully compatible with MySQL. If you find any compatibility differences, report a bug.