Tam*_*Tam 7 mysql collation character-encoding
几年前我在设计我的应用程序数据库时犯了一个错误,我的表和表字段的排序规则设置是混合的.其中一些是utf8_general_ci,其中一些是utf8_unicode_ci.
当连接具有不同排序规则的表时,这会导致问题.现在,我打算更改排序规则设置并使它们相同:utf8_unicode_ci.我将在所有表上运行这两个SQL查询.
ALTER TABLE `table1` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE `table1` CHANGE `Action` `Action` VARCHAR( 250 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL;
Run Code Online (Sandbox Code Playgroud)
我的问题是,运行这两个SQL查询是否会破坏任何字段值,尤其是包含重音字符的字段值?或者运行这两个查询是否安全?
期待着听到您的意见.
谢谢你的回答!
小智 5
请参考有关更改字符集和整理的mysql doc
http://dev.mysql.com/doc/refman/5.1/en/charset-column.html
它说 - "如果使用ALTER TABLE将列从一个字符集转换为另一个字符集,MySQL会尝试映射数据值,但如果字符集不兼容,则可能会丢失数据."
- 干杯