From c5dab75bff55e16713e1c0540ec41a8b06a10786 Mon Sep 17 00:00:00 2001 From: lijianbin <513837235@.qq.com> Date: Mon, 1 Sep 2025 14:54:15 +0800 Subject: [PATCH] =?UTF-8?q?BuildSelectSql=E5=AD=90=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=85=BC=E5=AE=B9pgsql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chain.go | 11 ++++------- chain_test.go | 13 ++++++++++--- go.mod | 5 ++++- go.sum | 2 ++ 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/chain.go b/chain.go index 2f0eb93..2a91661 100644 --- a/chain.go +++ b/chain.go @@ -470,9 +470,11 @@ func (this *Query) BuildSelectSql() (map[string]interface{}, error) { } } } + if this.debug { log.Println("query sql:", sql, this.value) } + condition_len := 0 //所有条件数 for _, ch2 := range sql { if string(ch2) == "?" { @@ -482,12 +484,7 @@ func (this *Query) BuildSelectSql() (map[string]interface{}, error) { if condition_len != len(this.value) { return nil, errors.New("参数错误,条件值错误") } - if DB_PROVIDER == "PgsqlDb" { - sql = sqlx.Rebind(sqlx.DOLLAR, sql) - sql = ReplaeByOtherSql(sql, "PgsqlDb", "") - } else if DB_PROVIDER == "DmSql" { - sql = ReplaeByOtherSql(sql, "DmSql", "") - } + return map[string]interface{}{ "sql": sql, "value": this.value, @@ -878,7 +875,7 @@ func (this *Query) CreateStmt() error { } sql = helper.StringJoin("insert into ", dbName, " ("+strings.Join(insert_data, " , ")+")", " VALUES ", "("+strings.Join(value_data, " , ")+")") - + if DB_PROVIDER == "PgsqlDb" { sql = helper.StringJoin(sql, " RETURNING id") } diff --git a/chain_test.go b/chain_test.go index dcdfc00..89aec69 100644 --- a/chain_test.go +++ b/chain_test.go @@ -9,8 +9,8 @@ import ( func Test_Chain(t *testing.T) { //测试数据库连接 //err := Connect("127.0.0.1", "root", "root", "canyin", "3306") - //err := PgConnect("192.168.233.145", "bin", "Bin123456", "canyin", "5432") - err := DmConnect("192.168.233.148", "SHOPV2", "Bin123456", "", "5236") + err := PgConnect("192.168.233.151", "bin", "Bin123456", "canyin", "5432") + //err := DmConnect("192.168.233.148", "SHOPV2", "Bin123456", "", "5236") //err := DmConnect("10.33.0.91", "ZYSG", "Zysg!#2025", "", "5236") //err := DmConnect("10.33.0.91", "dbck", "dskk!#555", "", "5236") @@ -29,9 +29,16 @@ func Test_Chain(t *testing.T) { fmt.Println("===GetTableInfo:", ret) //==========获取信息================= + query := new(Query).Db(db_name).Clean().Table("ttl_dorm_goods_reserve").Alias("a"). + Join([]string{"ttl_dorm_goods_reserve_detail b", "a.id=b.reserve_id", "left"}). + Join([]string{"ttl_dorm_goods c", "c.id=b.goods_id", "left"}). + Join([]string{"ttl_dorm_room d", "d.id=a.room_id", "left"}). + Join([]string{"dorm_room_item e", "e.id=a.room_item_id", "left"}). + Where("a.user_id =?").Value(6006) + info, err := query.Groupby("a.id").Title("a.id").BuildSelectSql() //info, err := new(Query).Db(db_name).Clean().Table(table_name).Where("id=?").Value("3").Title("*").Find() //info, err := new(Query).Db(db_name).Clean().Table(table_name).Clean().Alias("user").Join([]string{"ttl_user u", "u.id = user.user_id", "inner"}).Where("user.id=?").Value("3").Title("user.id,user.user_id,u.nickname").Find() - info, err := GetDataByStmt(db_name, table_name, "*", []string{"id = ?"}, []interface{}{3}, nil) + //info, err := GetDataByStmt(db_name, table_name, "*", []string{"id = ?"}, []interface{}{3}, nil) if err != nil { t.Log(err) } diff --git a/go.mod b/go.mod index 4b87a2c..4fd9950 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,8 @@ module git.tetele.net/tgo/dbquery -go 1.20 +go 1.23.0 + +toolchain go1.24.0 require ( git.tetele.net/tgo/helper v0.1.0 @@ -13,6 +15,7 @@ require ( require ( filippo.io/edwards25519 v1.1.0 // indirect github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe // indirect + github.com/golang/snappy v1.0.0 // indirect github.com/tjfoc/gmsm v1.4.1 // indirect golang.org/x/crypto v0.40.0 // indirect golang.org/x/text v0.28.0 // indirect diff --git a/go.sum b/go.sum index 859bf3c..38741b8 100644 --- a/go.sum +++ b/go.sum @@ -32,6 +32,8 @@ github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrU github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= +github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=