diff --git a/session.go b/session.go index 35e7a306..d65a0d7d 100644 --- a/session.go +++ b/session.go @@ -3042,7 +3042,9 @@ func (session *Session) value2Interface(col *core.Column, fieldValue reflect.Val pkField := reflect.Indirect(fieldValue).FieldByName(fieldTable.PKColumns()[0].FieldName) return pkField.Interface(), nil } - return 0, fmt.Errorf("no primary key for col %v", col.Name) + if fieldTable.Type == nil { + return 0, fmt.Errorf("no primary key for col %v", col.Name) + } } if col.SQLType.IsText() {