几年前设计我的应用程序数据库时犯了一个错误,我的表和表字段的排序设置混合在一起。其中一些是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;
我的问题是,运行这两个SQL查询是否会破坏任何字段值,特别是那些包含重音字符的值?或者运行这两个查询是安全的吗?
期待您的回复。
谢谢您的答案!
ß
=ss
和其他字符,但不会改变任何数据。有关详细信息,请参阅 http://dev.mysql.com/doc/refman/5.1/en/charset-unicode-sets.html。 - Pekka