我使用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
答案 0 :(得分:4)
NVARCHAR
是MySQL / MariaDB中VARCHAR
的同义词。但是您需要添加CHARACTER SET utf8mb4
以确保获得完整的UTF-8支持。
您显示为该数据库的默认值的只是子集,称为“utf8”。它不会处理表情符号或一些中文。