From d1b0547e682c10ec85a11cce411ede7740ab1cf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E6=A0=87?= Date: Mon, 16 Jan 2023 11:09:23 +0800 Subject: [PATCH] fix(statement): The primary key type is not int, but string or uuid (#5984) --- statement.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/statement.go b/statement.go index b99648fa..7bdc1317 100644 --- a/statement.go +++ b/statement.go @@ -287,7 +287,12 @@ func (stmt *Statement) BuildCondition(query interface{}, args ...interface{}) [] return nil } - if len(args) == 0 || (len(args) > 0 && strings.Contains(s, "?")) { + // The primary key type is not int, but string or uuid (#5984) + if len(args) == 0 { + return []clause.Expression{clause.IN{Column: clause.PrimaryColumn, Values: []interface{}{s}}} + } + + if len(args) > 0 && strings.Contains(s, "?") { // looks like a where condition return []clause.Expression{clause.Expr{SQL: s, Vars: args}} }