当前第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表排序规则不同报错问题分析的详细内容,更多文章请关注木庄网络博客!
返回前面的内容
相关阅读 >>
navicat导入sql报错怎么解决
mysql查询怎么优化?mysql查询优化的方法介绍
mysql多字段主键
mysql超详细讲解表的用法
mysql的常用命令有哪些
mysql的表空间是什么
mysq详细讲解如何解决库存并发问题
如何解决mysql更新失败的问题
mysql 字符串拆分操作(含分隔符的字符串截取)
linux安装jdk和tomcat以及mysql的图文教程
更多相关阅读请进入《mysql》频道 >>
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » MySQL表排序规则不同报错问题分析