mysql - mysql工作台将nvarchar列转换为varchar?
问题描述
我已将我的表格定义如下;
如果不存在则创建表
test
。notes
(id
INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,clientid
INT(10) NOT NULL,
userid
INT(10) NOT NULL,
notes
NVARCHAR(256) NULL DEFAULT NULL,createddatetime
TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id
)) ENGINE = InnoDB 默认字符集 = utf8;
这里的注释列我定义为 navarchar,但最后它变成了 varchar 列。我使用的是 6.3 版本。这里有什么问题?
解决方案
从 MySQL文档中,我们可以看到内部 MySQL 只会映射NVARCHAR
到VARCHAR
UTF-8 字符集。该文档提到以下定义都是等效的:
VARCHAR(10) CHARACTER SET utf8
NATIONAL VARCHAR(10)
NVARCHAR(10)
NCHAR VARCHAR(10)
NATIONAL CHARACTER VARYING(10)
NATIONAL CHAR VARYING(10)
推荐阅读
- sql - 如何在 SQL Server 中对多个术语运行独占搜索?
- pdf-generation - 如何在 Netsuite Advanced PDF 中按数量循环或重复行项目?
- c# - UWP 消息弹出窗口
- java - 基于 Java 标准的排序(自定义排序)
- javascript - 未捕获的 SyntaxError:尝试显示打印窗口时出现意外标识符
- c# - AWS Lambda 中 Json 文件的相对路径
- c# - 使用围绕 DB 上下文的 using 确定 LINQ 语句的范围
- android - 带有风味 applicationId 的 Android fastlane 部署
- c - char 如何存储两个数字?
- python - Python 请求:登录 paytm 以抓取商家数据