Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在MariaDb/Mysql中创建NVARCHAR列_Mysql_Sql_Mariadb - Fatal编程技术网

无法在MariaDb/Mysql中创建NVARCHAR列

无法在MariaDb/Mysql中创建NVARCHAR列,mysql,sql,mariadb,Mysql,Sql,Mariadb,我正在使用MariaDb服务器(版本15.1发行版10.2.7-MariaDb)。 当我执行 CREATE TABLE `my_table` ( `id` INT NOT NULL, `name` NVARCHAR(64) NULL, PRIMARY KEY (`id`) ); 描述输出: MariaDB [db]> describe my_table; +-------+-------------+------+-----+---------+-------+ | F

我正在使用MariaDb服务器(版本15.1发行版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”列数据类型是varchar(而不是nvarchar)

数据库架构详细信息:

Default collation: utf8_general_ci
Default characterset: utf8

NVARCHAR
是MySQL/MariaDB中
VARCHAR
的同义词。但是您需要添加
字符集utf8mb4
,以确保获得完全的UTF-8支持


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

也许这部分文档有帮助:NATIONAL VARCHAR是标准的SQL方法,用于定义VARCHAR列应该使用一些预定义的字符集。MariaDB使用utf8作为这个预定义的字符集,MySQL 4.1和up@Jens-你真的比我快了60秒。这是正确的答案。@Jens-对于许多版本,默认值仍然是
latin1
。最后,在8.0中,默认设置为
utf8mb4