From 9bd66eefc97280cceca043836e5ab940b6a9faf9 Mon Sep 17 00:00:00 2001 From: loshiqi <553578653@qq.com> Date: Tue, 15 Jul 2025 16:41:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=92=E5=85=A5=E5=92=8C=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chain.go | 21 ++++++++++++++++++++- db.go | 6 +++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/chain.go b/chain.go index 5167ee4..b5d1289 100644 --- a/chain.go +++ b/chain.go @@ -737,8 +737,27 @@ func (this *Query) CreateStmt() error { dbName := getTableName(this.dbname, this.table, this.dbtype) var sql string + if DB_PROVIDER == "PgsqlDb" { + insert_data := []string{} + value_data := []string{} + for _, rv := range this.data { + dv := strings.Split(rv, "=") + if len(dv) != 2 { + return errors.New("参数错误,条件值错误,=号不存在") + } + if strings.Contains(rv, "=?") { + insert_data = append(insert_data, dv[0]) + value_data = append(value_data, "?") + } else { + insert_data = append(insert_data, dv[0]) + value_data = append(value_data, dv[1]) + } - sql = helper.StringJoin("insert into ", dbName, " set ", strings.Join(this.data, " , ")) + } + sql = helper.StringJoin("insert into ", dbName, "("+strings.Join(insert_data, " , ")+")", " value ", "("+strings.Join(value_data, " , ")+")") + } else { + sql = helper.StringJoin("insert into ", dbName, " set ", strings.Join(this.data, " , ")) + } if this.debug { log.Println("insert sql:", sql, this.value) diff --git a/db.go b/db.go index 3ae47d5..8f3361c 100644 --- a/db.go +++ b/db.go @@ -611,7 +611,11 @@ func FetchRows(dbName, table_name, alias string, titles string, with, join [][]s from := strconv.Itoa((page - 1) * page_size) offset := strconv.Itoa(page_size) if from != "" && offset != "" { - sql_str = helper.StringJoin(sql_str, " limit ", from, " , ", offset) + if DB_PROVIDER == "PgsqlDb" { + sql_str = helper.StringJoin(sql_str, " limit ", offset, " OFFSET ", from) + } else { + sql_str = helper.StringJoin(sql_str, " limit ", from, " , ", offset) + } } } if debug {