调试完成解析create sql

This commit is contained in:
白茶清欢 2021-10-25 20:38:21 +08:00
parent 9b900680ca
commit 3d90296c6a

View File

@ -9,22 +9,35 @@ package sql2go
import ( import (
"fmt" "fmt"
"strings"
"github.com/xwb1989/sqlparser" "github.com/xwb1989/sqlparser"
) )
// ParseSql 解析sql // ParseCreateTableSql 解析建表sql
// //
// Author : go_developer@163.com<白茶清欢> // Author : go_developer@163.com<白茶清欢>
// //
// Date : 4:49 下午 2021/10/25 // Date : 4:49 下午 2021/10/25
func ParseSql(sql string) { func ParseCreateTableSql(sql string) {
var ( var (
stmt sqlparser.Statement stmt sqlparser.Statement
err error err error
) )
if stmt, err = sqlparser.Parse(sql); nil != err { sql = strings.ReplaceAll(sql, " ", "")
if stmt, err = sqlparser.ParseStrictDDL(sql); nil != err {
fmt.Println(err.Error(), string(sql[786:]))
return return
} }
fmt.Println(stmt)
r := stmt.(*sqlparser.DDL)
for _, item := range r.TableSpec.Columns {
defaultV := item.Type.Default
defaultVal := "-"
if nil != defaultV {
defaultVal += string(defaultV.Val) + "-"
}
fmt.Println(item.Name.String(), defaultVal, item.Type.NotNull, string(item.Type.Comment.Val))
}
// fmt.Println(r.TableSpec)
} }