美文网首页
MYSQL数据库保存拼音失败处理

MYSQL数据库保存拼音失败处理

作者: zero_8a32 | 来源:发表于2019-01-11 13:21 被阅读0次

问题描述:在数据库保存拼音时数据库提示主键冲突,具体如下:要保存的信息为fèn,fēn;但保存了fēn之后数据库提示冲突;

原因分析:fèn,fēn在数据库中被认为是同一字符,导致主键冲突保存失败;

解决:大家在创建数据库或者表格的时候指定charset=utf8,数据库就能识别所有的字符,结果往往不是如此;mysql使用charset指定字符,如何存储却依靠另一个参数--collation--来指定排序规则。这个collation正是mysql是否区分大小写,是否区分声调字符的关键。每个charset有一个默认的collation。utf-8默认的为utf8-general-ci,ci表示case insensitive,即不区分大小写。如果需要区分,可以指定charset=utf8 collation=utf8_bin。

建表DEMO;

CREATE TABLE `t_wrod_voice` (

  `word_id` int(10) NOT NULL COMMENT '字库ID',

  `voice` varchar(64) NOT NULL COMMENT '发音',

  `voice_file` varchar(64) DEFAULT NULL COMMENT '音频文件',

  PRIMARY KEY (`word_id`,`voice`)

) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='字库发音表';

改表DEMO;

ALTER TABLE T_WORD_VOICE CONVERT TO CHARACTER SET utf8 COLLATE=utf8_bin ;

相关文章

  • MYSQL数据库保存拼音失败处理

    问题描述:在数据库保存拼音时数据库提示主键冲突,具体如下:要保存的信息为fèn,fēn;但保存了fēn之后数据库提...

  • 2019-03-25

    MYSQL(数据库的安装与使用) MYSQL介绍 mysql 轻量级数据库 oracle 企业级数据库 数据的保存...

  • Scrapy中的各种管道保存类型

    1.保存到csv格式表中 2.保存到mysql数据库 3.保存到mogodb数据库

  • python对mysql的操作

    python对mysql的操作 Mysql 常见操作 数据库操作 PS:用户权限相关数据保存在mysql数据库的u...

  • mysql 修改编码

    由于表情保存的需求,数据库需要保存用户表情,下面把mysql数据库utf8修改成utf8mb4MySQL 版本5....

  • MySQL出错码大全

    mysql出错码表大全 1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1...

  • 2.mongodb跟mysql的异同

    2.mongodb跟mysql的异同 MySQL: MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不...

  • MySQL 之 忘记密码

    0x00 MySQL 用户密码位置: MySQL 下密码保存在 mysql 数据库 user 表中; user 表...

  • Navicat备份MySQL数据库

    MySQL数据库手动备份(冷备份) 手动备份比较简单,最后生成备份文件即可,可以自己另外保存。 MySQL数据库自...

  • 深入理解MySQL分区(Partition)

    什么是数据库分区? Mysql数据库中的数据是以文件的形式保存在磁盘上的,默认放在mysql/data路径,不同的...

网友评论

      本文标题:MYSQL数据库保存拼音失败处理

      本文链接:https://www.haomeiwen.com/subject/qzcxdqtx.html