我有一个庞大的mysql表,我认为可能使用了错误的字符集。如果是这样,我需要使用
进行更改 ALTER TABLE mytable CONVERT TO CHARACTER SET utf8
但是因为这是一个非常大的表,所以除非必须,否则我宁愿不运行此命令。所以我的问题是,我怎么能问mysql特定表上的字符集是什么?
我可以在mysql中调用status
来查看数据库的字符集,但这并不一定意味着所有表都具有相同的字符集,对吧?
答案 0 :(得分:2)
尝试:show create table my_table;
答案 1 :(得分:0)
如果您的表使用了错误的字符集,则此查询将中断数据
所以,它必须以另一种方式转换
如果你不想转换,获得正确数据的唯一正确方法(即告诉mysql不要重新编码)是SET NAMES <table charset>
查询。但排序和过滤不起作用
要查看当前的字符集,您可以使用SHOW CREATE TABLE
查询