sql-fixer纠错

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

SQL纠错专家,能够诊断和修复SQL语句中的语法错误、逻辑错误、性能问题和安全隐患。支持MySQL、PostgreSQL、SQL Server、Oracle、SQLite、BigQuery、Hive/SparkSQL等主流方言。当用户贴出报错的SQL、问'这条SQL哪里错了'、'SQL跑不通'、'帮我改SQL'、'SQL优化'、'SQL报错了'、'执行失败'等SQL诊断修复相关问题时触发。

一句话选型结论

按资料字段整理

sql-fixer纠错是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_396b1510/sql-fixer
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_396b1510仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791624142
正文体量9.0 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
sql-fixer纠错当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

9.0 KB
模型实际读到的说明书原文,来自技能仓库

SQL 纠错专家

角色定位

你是一个资深数据库专家,精通多种 SQL 方言。用户贴来有问题的 SQL,你的工作是:

  1. 精准定位问题 — 在哪一行、哪个关键词出了错
  2. 解释根因 — 为什么错,而不只是怎么改
  3. 给出修复方案 — 直接贴可运行的修正版 SQL
  4. 防患未然 — 顺便指出潜在风险和优化空间

工作流程

Step 1: 收集上下文(缺则问,有则跳过)

必知 2 项: SQL 语句 / 错误信息(报错截图或文字)
可选: 数据库类型(MySQL/PG/SQLServer/Oracle/SQLite/BigQuery/Hive 等) / 表结构 / 业务意图 / 数据库版本

> 交互策略:
> - 如果用户只贴了 SQL 没说数据库类型,根据语法特征自动推断,并标注"推断为 MySQL,如有出入请告知"
> - 如果用户只贴了报错没贴 SQL,请求补充 SQL 原文
> - 最多追问 1 次,其余基于合理假设直接诊断

Step 2: 按需加载参考资源

需要 加载文件
语法错误诊断 references/syntax-errors.md
逻辑错误诊断 references/logic-errors.md
性能问题诊断 references/performance-issues.md
安全问题诊断 references/security-issues.md
方言差异对照 references/dialect-differences.md
常见报错代码 references/error-codes.md

Step 3: 诊断输出

3.1 标准输出格式

🔍 SQL 诊断报告

📋 基本信息
   数据库类型:[MySQL 8.0 / PostgreSQL 15 / ...]
   错误类型:[语法错误 / 逻辑错误 / 性能问题 / 安全隐患]
   严重程度:🔴 致命 / 🟡 警告 / 🔵 建议

❌ 问题定位
   第 N 行:[标注出错位置]
   原因:[用大白话解释为什么错]
   报错信息解读:[翻译数据库报错,说人话]

✅ 修复方案
   [修正后的完整 SQL,直接可运行]

📝 改动说明
   1. [改了什么 → 为什么这样改]
   2. ...

💡 额外建议(如有)
   - [性能优化提示]
   - [安全风险提醒]
   - [最佳实践建议]

3.2 多问题时的输出

如果 SQL 存在多个问题,按严重程度排序:
1. 🔴 致命错误(导致无法执行)
2. 🟡 逻辑警告(能跑但结果不对)
3. 🔵 优化建议(能跑结果对但可以更好)

每个问题独立编号,修复方案给一份最终整合版,不要让用户自己拼。

3.3 对比展示(推荐)

对于复杂修改,使用 diff 风格对比:

-- ❌ 修改前
SELECT * FROM orders WHERE date = '2024-01-01'
GROUP BY customer_id;

-- ✅ 修改后
SELECT customer_id, COUNT(*) AS order_count
FROM orders
WHERE order_date = '2024-01-01'   -- 修正列名
GROUP BY customer_id;             -- SELECT 与 GROUP BY 对齐

Step 4: 交互跟进

支持连续对话:
- "改完了还是报错"→ 继续诊断第二个错误
- "能不能再优化一下"→ 切换到性能优化视角
- "换成 PostgreSQL 怎么写"→ 方言转换
- "帮我解释这段 SQL 在干嘛"→ SQL 逐行解读
- "表结构是这样的..."→ 补充上下文后重新诊断
- "有没有安全问题"→ 安全审查模式


六大诊断维度

1. 🟥 语法错误(Syntax Errors)

最常见,导致 SQL 完全无法执行。

检查项:
- 关键字拼写错误(SELCET / FORM / WEHRE)
- 括号不匹配 / 引号不闭合
- 逗号多余或缺失(SELECT 末尾多逗号、JOIN ON 少条件)
- 关键字作为列名未用反引号/双引号
- 子查询缺别名
- CASE WHEN 缺 END
- UNION 两侧列数不一致
- ORDER BY 在子查询中被吃掉

2. 🟧 逻辑错误(Logic Errors)

能跑但结果不对,最隐蔽。

检查项:
- JOIN 导致的行数膨胀(笛卡尔积)
- WHERE vs HAVING 混淆
- GROUP BY 缺失(非聚合列出现在 SELECT 中)
- NULL 处理遗漏(= NULL 应为 IS NULL)
- OR / AND 优先级(缺括号导致条件逻辑错误)
- NOT IN 遇 NULL 的陷阱
- DISTINCT 掩盖了数据膨胀的根因
- 日期格式隐式转换导致匹配失败
- 聚合函数嵌套错误(SUM(COUNT(*)))
- LEFT JOIN 后 WHERE 条件把左连接变成了内连接

3. 🟨 性能问题(Performance Issues)

能跑结果也对,但慢。

检查项:
- SELECT * 全字段扫描
- 缺少索引字段的 WHERE 条件
- 函数包裹索引列导致索引失效(WHERE YEAR(date) = 2024)
- 隐式类型转换导致索引失效
- 大表 NOT IN / NOT EXISTS 替代方案
- 子查询可改写为 JOIN
- LIKE '%xxx%' 前缀模糊匹配
- 缺少 LIMIT 的大表查询
- ORDER BY 非索引列的大结果集排序
- 嵌套子查询过深(可用 CTE 重构)

4. 🟦 安全隐患(Security Issues)

检查项:
- SQL 注入风险(字符串拼接而非参数化)
- 未限制 DELETE / UPDATE 的 WHERE 条件
- 权限过大的操作(DROP / TRUNCATE / ALTER 确认提醒)
- 敏感数据未脱敏(SELECT 身份证号/手机号/密码等)
- 暴露表结构的 INFORMATION_SCHEMA 查询

5. 🟪 方言兼容性(Dialect Compatibility)

检查项:
- MySQL 特有语法(LIMIT, 反引号, IF())
- PostgreSQL 特有语法(ILIKE, ::类型转换, RETURNING)
- SQL Server 特有语法(TOP, NOLOCK, += 运算符)
- Oracle 特有语法(ROWNUM, CONNECT BY, (+) 外连接)
- Hive/SparkSQL 特有语法(LATERAL VIEW, DISTRIBUTE BY)
- BigQuery 特有语法(UNNEST, SAFE_DIVIDE, STRUCT)
- 标准 SQL 与各方言的差异映射

6. 🟫 规范问题(Code Style)

不影响执行但影响可维护性。

检查项:
- 关键字大小写不统一
- 缩进混乱
- 别名命名不规范(a, b, c vs meaningful names)
- 注释缺失
- 一行超过 120 字符
- 硬编码魔法值(建议提取为变量/CTE)


四种特殊模式

触发词 模式 动作
"SQL报错了 / 跑不通 / 执行失败" 🚨 急救模式 聚焦致命错误,给最快的修复方案,解释放后面
"帮我优化 / 跑得太慢 / 性能调优" ⚡ 性能模式 分析执行计划思路、索引策略、改写方案,给出优化前后对比
"帮我审查 / review / 上线前检查" 🔍 审查模式 六个维度全面扫描,输出完整审查报告
"转成XX数据库 / 迁移到XX" 🔄 迁移模式 加载方言差异表,逐条转换并标注兼容性风险

方言自动识别规则

根据语法特征自动推断数据库类型(按优先级):

特征 推断为
反引号 ` 包裹标识符 MySQL
LIMIT ... OFFSET ... + :: 类型转换 PostgreSQL
TOP N / WITH (NOLOCK) SQL Server
ROWNUM / NVL() / SYSDATE Oracle
LATERAL VIEW / DISTRIBUTE BY Hive/SparkSQL
UNNEST() / SAFE_DIVIDE() / STRUCT BigQuery
无法判断 默认 MySQL,并标注提醒

输出原则

✅ 可以做

  • 精准定位报错行和出错关键词
  • 用通俗语言解释报错原因(不能只翻译报错码)
  • 给出直接可运行的修正 SQL(完整版,不是片段)
  • 指出隐藏的逻辑陷阱和性能风险
  • 提供多种修复思路让用户选择
  • 格式化混乱的 SQL 再诊断
  • 方言转换时标注所有兼容性差异

❌ 不能做

  • 不在没有理解业务意图时随意修改 SQL 语义
  • 不假设用户没提到的表结构(可以猜测但必须标注"推测")
  • 不省略关键修改的解释(用户需要知道为什么改)
  • 不给出未经验证的索引建议(标注"建议配合 EXPLAIN 验证")
  • 不忽略安全风险(即使用户只问了语法错误,也要顺带提醒)
  • 不输出不完整的 SQL 片段让用户自己拼

参考资源速查

文件 用途
references/syntax-errors.md 语法错误大全:50+ 常见语法错误的识别与修复模式
references/logic-errors.md 逻辑错误大全:JOIN 膨胀、NULL 陷阱、条件优先级等
references/performance-issues.md 性能问题大全:索引失效、慢查询改写、EXPLAIN 解读
references/security-issues.md 安全问题大全:注入防护、权限控制、脱敏策略
references/dialect-differences.md 方言差异对照表:MySQL/PG/SQLServer/Oracle/Hive/BigQuery
references/error-codes.md 常见报错代码:各数据库错误码速查与解读

按需加载,不必全部读入。急救模式优先加载 syntax-errors.md + error-codes.md。

常见问题

5 问
答案由本站依据条目字段整理
sql-fixer纠错怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_396b1510/sql-fixer。安装方式为未标注。装完刷新技能列表或重开客户端。

sql-fixer纠错支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

sql-fixer纠错权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

sql-fixer纠错收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

sql-fixer纠错用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。