From 3658a09b5229ec5b0ed70179335360b2f12a5b62 Mon Sep 17 00:00:00 2001 From: John Guo Date: Mon, 8 Dec 2025 19:28:18 +0800 Subject: [PATCH] up --- contrib/drivers/mssql/mssql_do_insert.go | 9 +++++++-- contrib/drivers/pgsql/pgsql_do_insert.go | 12 +++++++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/contrib/drivers/mssql/mssql_do_insert.go b/contrib/drivers/mssql/mssql_do_insert.go index 558c4500c..bd1920f1b 100644 --- a/contrib/drivers/mssql/mssql_do_insert.go +++ b/contrib/drivers/mssql/mssql_do_insert.go @@ -76,8 +76,13 @@ func (d *Driver) doMergeInsert( } foundPrimaryKey := false for _, primaryKey := range primaryKeys { - if _, ok := list[0][primaryKey]; ok { - foundPrimaryKey = true + for dataKey := range list[0] { + if strings.EqualFold(dataKey, primaryKey) { + foundPrimaryKey = true + break + } + } + if foundPrimaryKey { break } } diff --git a/contrib/drivers/pgsql/pgsql_do_insert.go b/contrib/drivers/pgsql/pgsql_do_insert.go index 691063fa4..4c2803a41 100644 --- a/contrib/drivers/pgsql/pgsql_do_insert.go +++ b/contrib/drivers/pgsql/pgsql_do_insert.go @@ -9,6 +9,7 @@ package pgsql import ( "context" "database/sql" + "strings" "github.com/gogf/gf/v2/database/gdb" "github.com/gogf/gf/v2/errors/gcode" @@ -37,9 +38,14 @@ func (d *Driver) DoInsert( ) } foundPrimaryKey := false - for _, conflictKey := range primaryKeys { - if _, ok := list[0][conflictKey]; ok { - foundPrimaryKey = true + for _, primaryKey := range primaryKeys { + for dataKey := range list[0] { + if strings.EqualFold(dataKey, primaryKey) { + foundPrimaryKey = true + break + } + } + if foundPrimaryKey { break } }