更改mysql表编码时是否有任何不利影响?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了更改mysql表编码时是否有任何不利影响?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1061字,纯文字阅读大概需要2分钟。
内容图文
![更改mysql表编码时是否有任何不利影响?](/upload/InfoBanner/zyjiaocheng/883/b80170a75f1243aca5ae4d4dbafeaf35.jpg)
我有一个用latin1编码并整理latin1_bin的表.
在我的表中有一个列类型为’TEXT’的列注释,您知道该列继承了表的编码和排序规则,但是从现在开始,我应该将其更改为utf8和utf8_general_ci,因为我开始在注释中存储特殊字符.
如果我使用类似以下的命令,会导致任何负面影响吗?
alter table notebooks modify comments text CHARACTER SET utf8 COLLATE utf8_general_ci;
谢谢您的回答.
解决方法:
危险,我认为ALTER会破坏现有文本.
另外,…您的“名字”看起来是中文,所以我猜您想存储中文字符吗?在这种情况下,您应该使用utf8mb4,而不仅仅是utf8.这是因为某些中文字符占用4个字节(并且不在Unicode BMP中).
我相信您需要2个步骤:
ALTER TABLE notebooks MODIFY comments BLOB;
ALTER TABLE notebooks MODIFY comments TEXT
CHARACTER SET utf8mb4 COLLATE utf8mb4_general_520_ci;
否则,latin1字符将被“转换”为ut8.但是,如果您的栏中确实有中文,那么您就不需要latin1.上面的两步更改确实(1)关闭了字符集的任何知识,并且(2)确定字节确实是utf8mb4编码的.
为了更安全,首先
RENAME TABLE notebooks TO old;
CREATE TABLE notebooks LIKE old;
INSERT INTO notebooks SELECT * FROM old;
然后执行两个ALTER,并测试结果.如果遇到问题,您可以重命名以恢复旧副本.
内容总结
以上是互联网集市为您收集整理的更改mysql表编码时是否有任何不利影响?全部内容,希望文章能够帮你解决更改mysql表编码时是否有任何不利影响?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。