dongxieyou3314 2018-07-20 04:46
浏览 35

在进入MySQL之前解析SQL查询

In my Go app I want to be able to analyze a SQL query before to execute it. I want to get: type (update, insert, delete etc). This is easy, but next steps not. table to be affected, columns to be updated (on insert/update) most important - condition, list of columns and values.

Is there any go library for this?

Something to pass a sql query and get back some structure with info about this query

  • 写回答

1条回答 默认 最新

  • duanchao5258 2018-07-20 05:10
    关注

    Yes, you have sqlparser for golang.

    Note that the sqlparser is been pulled out from the database clustering system vitess

    You can use the sql parser like,

    reader := strings.NewReader("INSERT INTO table1 VALUES (1, 'a');")
    
    tokens := sqlparser.NewTokenizer(reader)
    for {
        stmt, err := sqlparser.ParseNext(tokens)
        if err == io.EOF {
            break
        }
        // Do your logics with the statements.
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程