diff --git a/session_convert.go b/session_convert.go index 1f9d8aa1b..0b54f237f 100644 --- a/session_convert.go +++ b/session_convert.go @@ -541,6 +541,9 @@ func (session *Session) value2Interface(col *core.Column, fieldValue reflect.Val return 0, err } if col.SQLType.IsBlob() { + if data == nil { + return nil, nil + } return data, nil } return string(data), nil @@ -553,6 +556,9 @@ func (session *Session) value2Interface(col *core.Column, fieldValue reflect.Val return 0, err } if col.SQLType.IsBlob() { + if data == nil { + return nil, nil + } return data, nil } return string(data), nil diff --git a/statement.go b/statement.go index 7856936f5..cd4ef6921 100644 --- a/statement.go +++ b/statement.go @@ -305,7 +305,9 @@ func (statement *Statement) buildUpdates(bean interface{}, if err != nil { engine.logger.Error(err) } else { - val = data + if data != nil { + val = data + } } goto APPEND } @@ -316,7 +318,9 @@ func (statement *Statement) buildUpdates(bean interface{}, if err != nil { engine.logger.Error(err) } else { - val = data + if data != nil { + val = data + } } goto APPEND }