无法在MariaDb / Mysql中创建NVARCHAR列

时间:2017-08-16 08:10:12

标签: 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`)
);

描述输出:

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)

为什么没有错误," name" column数据类型是varchar(不是nvarchar)?

db架构详细信息:

Default collation: utf8_general_ci
Default characterset: utf8

1 个答案:

答案 0 :(得分:4)

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

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