【问题标题】:Get a Table's Character Set获取表格的字符集
【发布时间】:2020-02-22 20:09:19
【问题描述】:

在 MySQL 中,我可以像这样获取表的名称、引擎和排序规则:

SELECT TABLE_NAME, TABLE_SCHEMA, ENGINE, TABLE_COLLATION
    FROM information_schema.tables
    WHERE table_name = 'tbl_name';

但是如何获取表格的字符集,而不仅仅是排序规则?是否可以从 information_schema.tables 中获取?

【问题讨论】:

  • 你指的是DESCRIBE table_name吗?
  • 试过了,不显示字符集。有没有办法使用 SELECT 获得它?

标签: mysql information-schema


【解决方案1】:

每个排序规则仅用于一个字符集,因此无需将字符集记录在 INFORMATION_SCHEMA.TABLES 中。表排序规则足以明确地指示排序规则和字符集。

您可以检查 INFORMATION_SCHEMA.COLLATIONS 或 INFORMATION_SCHEMA.COLLATION_CHARACTER_SET_APPLICABILITY 以获取从给定排序规则到其字符集的映射。

【讨论】:

    【解决方案2】:

    尝试运行这个:

    SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name = "DBNAME";
    

    【讨论】:

    • DESCRIBE 'tbl_name';不显示表格的字符集。我正在考虑更多地使用 SELECT 语句来获取它。
    • 这确实得到了字符集,但它适用于整个数据库。有什么方法可以做到这一点,但只是为了一张桌子?
    猜你喜欢
    • 2017-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-22
    • 2017-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多