From 3bd96219865304420afc7201d725f40a4a0dcf44 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 8 Dec 2025 11:19:34 +0000 Subject: [PATCH 1/2] Initial plan From 835ff3923c9e4a0ae2e0719846c2654130df4604 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 8 Dec 2025 11:24:26 +0000 Subject: [PATCH 2/2] Use case-insensitive comparison for primary key detection in pgsql driver Co-authored-by: gqcn <26347176+gqcn@users.noreply.github.com> --- contrib/drivers/pgsql/pgsql_do_insert.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/contrib/drivers/pgsql/pgsql_do_insert.go b/contrib/drivers/pgsql/pgsql_do_insert.go index 55e6f761c06..77af8180017 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" @@ -39,8 +40,13 @@ func (d *Driver) DoInsert( } foundPrimaryKey := false for _, conflictKey := range primaryKeys { - if _, ok := list[0][conflictKey]; ok { - foundPrimaryKey = true + for dataKey := range list[0] { + if strings.EqualFold(dataKey, conflictKey) { + foundPrimaryKey = true + break + } + } + if foundPrimaryKey { break } }