简单地说,这两者之间的区别是什么:
https://dev.mysql.com/doc/refman/5.7/en/set-character-set.html
和
https://dev.mysql.com/doc/refman/5.7/en/set-names.html
我已经查看了连接字符集页面:
https://dev.mysql.com/doc/refman/5.7/en/charset-connection.html
我查过了 SHOW VARIABLES LIKE 'char%'
以及 SHOW VARIABLES LIKE 'collation%'
但我不能指出两者之间的区别 SET NAMES
有一个可选的 COLLATE
哪一套 collation_connection
.
1条答案
按热度按时间vbkedwbf1#
下面是每个语句设置的变量的摘要:
因此,最大的区别在于set charset不会将连接charset设置为参数中指定的charset,而是将其设置为当前默认数据库的charset,如果您已经这样做了
USE <database>
.为什么这两种说法都存在?我不知道,我查看了mysql 4.1的手册,两个语句都在那里,但是没有解释为什么需要两个语句。
我想这是为了与其他sql实现兼容。