怎么批量查表的字符集和排序规则?

【 TiDB 使用环境】测试
【 TiDB 版本】v7.1.0
【复现路径】无
【遇到的问题:问题现象及影响】
怎么批量查表的字符集和排序规则?目前看到TABLES中有排序规则,但是没有字符集。
https://docs.pingcap.com/zh/tidb/stable/information-schema-tables#tables

1 个赞

要不这么看,字符集和排序规则实际是绑定的
SELECT CCSA.character_set_name AS character_set_name, CCSA.collation_name AS collation_name
FROM information_schema.tables IST
JOIN information_schema.collation_character_set_applicability CCSA ON IST.table_collation = CCSA.collation_name
WHERE IST.table_schema = ‘automaildb’ AND IST.table_name LIKE ‘bi_email_excel_config%’;

columns里应该是列的字符集吧?不是表的字符集。。。

嗯,确实

:call_me_hand: :call_me_hand: :call_me_hand:原来如此,我还以为没有强关系呢。

1 个赞

是的,但是tables里只有排序规则,不过按楼上大佬说的,对应一下就可以了

1 个赞

我都是用navicat直接看table的建表是sql的里面有表的字符集和排序规则,办法比较原始

是的,单个的可以这样看。我们这边有个需求批量改字符集和排序规则,所以想找个语句能批量查询然后校验一下。

1 个赞

mysql简单可以写个存储过程, for循环游标对象fetch出来了,tidb只能写个shell 循环执行show create table user

:yum:已经解决了,就是按照最佳答案解决的

1 个赞

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。