首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用五旬节unicode从SQL server迁移到MySQL

问使用五旬节unicode从SQL server迁移到MySQL
EN

Stack Overflow用户
提问于 2015-09-26 05:30:10
回答 1查看 741关注 0票数 1

我在将数据从SQL server迁移到MySQL时遇到了问题。我在SQL server中有nvarchar列,并将它们导出到Unicode文本文件中。但是当我将列导入到MySQL的utf-8表中时,我会得到一个重复值的错误: Mysql看到'Kaneko,Shusuke‘和'Kaneko,Shusuke’之间没有区别。我正在尝试将这些值放到一个独特的列中。

怎么了?我必须在MySQL中使用另一个字符集吗?

在导入到utf8之前,我还尝试将文本文件转换为MySQL,但仍然得到相同的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-26 05:55:41

看来,在创建Mysql表时出现了问题。首先在mysql提示符上使用SHOW CREATE TABLE并查看其表结构。你用过正确的字符集和校对吗?你可以在这里读到mysql文档

很多时候,校对不仅是不区分大小写的,而且在一定程度上也是口音不敏感的。(正如Joni Salonen指出的,这是错误的!)但á = a.

因此,我们可以使用二进制排序规则,但是它有自己的drawback.Binary排序规则,如果字符不同(无论是大小写还是对话式的差异),则可以将字符串与C中的strcmp()完全相同。它的缺点是排序顺序是不自然的。

非自然排序顺序的一个例子(如“二进制”是):A,B,a,b自然排序顺序在这种情况下是: A,a,B,b(中小企业字母的小变化和大写变化相互排列)

二进制排序的实际优势在于它的速度,因为字符串比较非常简单/快速。在一般情况下,带有二进制的索引可能不会产生排序的预期结果,但是对于精确的匹配,它们可能是有用的。对特定列使用二进制排序规则(可能是您的最佳选择)

对前-

代码语言:javascript
复制
drop table cc;
CREATE TABLE cc ( c CHAR(100) primary key ) DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
insert into cc values ( 'Kaneko, Shûsuke' );
insert into cc values ( 'Kaneko, Shusuke' );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32793978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档