当前第2页 返回上一页
如果使用下面这种方式修改字符集,你会发现,只更改了表级的,没有更改列级的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | mysql> ALTER TABLE cs CHARACTER SET utf8 collate utf8_unicode_ci;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> select TABLE_SCHEMA,TABLE_NAME,TABLE_COLLATION from information_schema.tables where table_name= 'cs' ;
+
| TABLE_SCHEMA | TABLE_NAME | TABLE_COLLATION |
+
| test | cs | utf8_unicode_ci |
+
1 row in set (0.00 sec)
mysql> select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,COLLATION_NAME from information_schema.COLUMNS where TABLE_NAME= 'cs' ;
+
| TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | COLLATION_NAME |
+
| test | cs | id | NULL |
| test | cs | name | utf8_general_ci |
+
2 rows in set (0.00 sec)
|
所以真正改字符集的时候别忘了加上CONVERT TO,如下:
1 2 3 4 5 6 7 8 9 10 11 12 | mysql> ALTER TABLE cs CONVERT TO CHARACTER SET utf8 collate utf8_unicode_ci;
Query OK, 5 rows affected (0.06 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,COLLATION_NAME from information_schema.COLUMNS where TABLE_NAME= 'cs' ;
+
| TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | COLLATION_NAME |
+
| test | cs | id | NULL |
| test | cs | name | utf8_unicode_ci |
+
2 rows in set (0.00 sec)
|
要仅仅改变一个表的默认字符集,应使用此语句:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | mysql> ALTER TABLE cs default CHARACTER SET utf8 collate utf8_general_ci,ALGORITHM=INPLACE,LOCK=NONE;
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> select TABLE_SCHEMA,TABLE_NAME,TABLE_COLLATION from information_schema.tables where table_name= 'cs' ;
+
| TABLE_SCHEMA | TABLE_NAME | TABLE_COLLATION |
+
| test | cs | utf8_general_ci |
+
1 row in set (0.00 sec)
mysql> select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,COLLATION_NAME from information_schema.COLUMNS where TABLE_NAME= 'cs' ;
+
| TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | COLLATION_NAME |
+
| test | cs | id | NULL |
| test | cs | name | utf8_unicode_ci |
+
2 rows in set (0.00 sec)
|
可以发现列字符集没有改变,并且只有新的列才会默认继承表的字符集(utf8.utf8_general_ci)。
相关推荐:
MySQL表的四种分区类型的代码详解
如何使用mysql表连接
php mysql表中文乱码问题如何解决
以上就是MySQL表排序规则不同报错问题分析的详细内容,更多文章请关注木庄网络博客!
返回前面的内容
相关阅读 >>
如何利用mysql数据库命令创建和查看分区情况
关于mysql 时间戳格式化函数from_unixtime的使用说明
docker安装mysql的简单实例
mysql中的范式详解
mysql中关于表数据文件损坏导致数据库无法启动的问题解决
mysql主从复制原理详解
hive和mysql的区别是什么
mysql事务之acid特性(详解)
hadoop跟mysql的区别是什么?
mysql查询结果顺序按in()中id的顺序排列的实例分析
更多相关阅读请进入《mysql》频道 >>
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » MySQL表排序规则不同报错问题分析