无法在MariaDb / Mysql中创建NVARCHAR列

bga*_*lek 2 mysql sql mariadb

我正在使用MariaDb服务器(Ver 15.1 Distrib 10.2.7-MariaDB)。当我执行

CREATE TABLE `my_table` (
   `id` INT NOT NULL,
   `name` NVARCHAR(64) NULL,
   PRIMARY KEY (`id`)
);
Run Code Online (Sandbox Code Playgroud)

描述输出:

MariaDB [db]> describe my_table;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   | PRI | NULL    |       |
| name  | varchar(64) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

为什么没有错误,并且“名称”列的数据类型是varchar(不是nvarchar)?

数据库模式详细信息:

Default collation: utf8_general_ci
Default characterset: utf8
Run Code Online (Sandbox Code Playgroud)

Ric*_*mes 5

NVARCHARVARCHARMySQL / MariaDB中的同义词。但是您需要添加,CHARACTER SET utf8mb4以确保获得完整的UTF-8支持。

显示为该数据库的默认值的只是子集,称为“ utf8”。它不会处理表情符号或某些中文。