# 后端需求 - 表结构返回 columns 数据 ## 问题描述 前端在 Edit Mapping 页面需要展示表的列信息(字段名、类型、COMMENT等),但前端自行解析 DDL 存在困难。 ## 需求 后端在获取表结构列表时,需要同时返回: 1. **DDL 语句**(已有的需求,继续保留) 2. **结构化的 columns 数据**(新增) ### 返回数据结构 ```json { "success": true, "tables": [ { "table_name": "exam_scores", "table_comment": "考试成绩表", "ddl": "CREATE TABLE `exam_scores` (...)", "columns": [ { "column_name": "id", "data_type": "int", "column_type": "int(10) unsigned", "is_nullable": "NO", "default_value": null, "column_key": "PRI", "extra": "auto_increment", "column_comment": "" }, { "column_name": "student_id", "data_type": "int", "column_type": "int(10) unsigned", "is_nullable": "NO", "default_value": null, "column_key": "", "extra": "", "column_comment": "" }, { "column_name": "subject", "data_type": "varchar", "column_type": "varchar(50)", "is_nullable": "NO", "default_value": null, "column_key": "", "extra": "", "column_comment": "科目" }, { "column_name": "score", "data_type": "double", "column_type": "double", "is_nullable": "YES", "default_value": null, "column_key": "", "extra": "", "column_comment": "分数" } ] } ] } ``` ### 字段说明 | 字段 | 类型 | 说明 | |------|------|------| | column_name | string | 列名 | | data_type | string | 数据类型(如 int, varchar, double) | | column_type | string | 完整列类型(如 int(10) unsigned) | | is_nullable | string | 是否可空(YES/NO) | | default_value | string | 默认值 | | column_key | string | 主键标识(PRI/MUL/UNI) | | extra | string | 额外信息(如 auto_increment) | | column_comment | string | 列注释 | ## 影响范围 - 文件:`server/internal/service/database_service.go` - 函数:`getMySQLTables`, `getPostgresTables` - 数据模型:`server/internal/model/sub_table_info.go` 的 `ColumnInfo` 结构体 ## 优先级 高 - 前端 Edit Mapping 页面字段映射功能依赖此数据