KEY_COLUMN_USAGE

KEY_COLUMN_USAGE 表描述列的键约束,例如时间索引键的约束。

  1. USE INFORMATION_SCHEMA;
  2. DESC KEY_COLUMN_USAGE;

结果如下:

  1. +-------------------------------+--------+------+------+---------+---------------+
  2. | Column | Type | Key | Null | Default | Semantic Type |
  3. +-------------------------------+--------+------+------+---------+---------------+
  4. | constraint_catalog | String | | NO | | FIELD |
  5. | constraint_schema | String | | NO | | FIELD |
  6. | constraint_name | String | | NO | | FIELD |
  7. | table_catalog | String | | NO | | FIELD |
  8. | real_table_catalog | String | | NO | | FIELD |
  9. | table_schema | String | | NO | | FIELD |
  10. | table_name | String | | NO | | FIELD |
  11. | column_name | String | | NO | | FIELD |
  12. | ordinal_position | UInt32 | | NO | | FIELD |
  13. | position_in_unique_constraint | UInt32 | | YES | | FIELD |
  14. | referenced_table_schema | String | | YES | | FIELD |
  15. | referenced_table_name | String | | YES | | FIELD |
  16. | referenced_column_name | String | | YES | | FIELD |
  17. +-------------------------------+--------+------+------+---------+---------------+
  1. SELECT * FROM key_column_usage WHERE table_schema='public' and table_name='monitor'\G
  1. *************************** 1. row ***************************
  2. constraint_catalog: def
  3. constraint_schema: public
  4. constraint_name: TIME INDEX
  5. table_catalog: def
  6. real_table_catalog: greptime
  7. table_schema: public
  8. table_name: monitor
  9. column_name: ts
  10. ordinal_position: 1
  11. position_in_unique_constraint: NULL
  12. referenced_table_schema: NULL
  13. referenced_table_name: NULL
  14. referenced_column_name: NULL
  15. *************************** 2. row ***************************
  16. constraint_catalog: def
  17. constraint_schema: public
  18. constraint_name: PRIMARY
  19. table_catalog: def
  20. real_table_catalog: greptime
  21. table_schema: public
  22. table_name: monitor
  23. column_name: host
  24. ordinal_position: 1
  25. position_in_unique_constraint: NULL
  26. referenced_table_schema: NULL
  27. referenced_table_name: NULL
  28. referenced_column_name: NULL
  29. 2 rows in set (0.02 sec)

KEY_COLUMN_USAGE 表中列的描述如下:

  • constraint_catalog:约束所属的目录名称。该值始终为 def
  • constraint_schema:约束所属的数据库名称。
  • constraint_name:约束的名称。
  • table_catalog:表所属目录的名称。该值始终为 def
  • real_table_catalog:表所属目录的真实名称。该值始终为 greptime
  • table_schema:表所属的数据库名称。
  • table_name:具有约束的表的名称。
  • column_name:具有约束的列的名称。
  • ordinal_position:列在约束中的位置,而不是在表中的位置。位置编号从 1 开始。
  • position_in_unique_constraint:唯一约束和主键约束为空。对于外键约束,此列是引用表键的位置。
  • referenced_table_schema:约束引用的数据库名称。目前在 GreptimeDB 中,除外键约束外,所有约束中此列的值均为 NULL
  • referenced_table_name:约束引用的表名称。目前在 GreptimeDB 中,除外键约束外,所有约束中此列的值均为 NULL
  • referenced_column_name:约束引用的列名称。目前在 GreptimeDB 中,除外键约束外,所有约束中此列的值均为 NULL