diff --git a/ddl/ddl_api.go b/ddl/ddl_api.go index 4d3e598d9b72b..883520b390fac 100644 --- a/ddl/ddl_api.go +++ b/ddl/ddl_api.go @@ -4843,12 +4843,14 @@ func SetDefaultValue(ctx sessionctx.Context, col *table.Column, option *ast.Colu col.DefaultIsExpr = isSeqExpr } - if hasDefaultValue, value, err = checkColumnDefaultValue(ctx, col, value); err != nil { - return hasDefaultValue, errors.Trace(err) - } - value, err = convertTimestampDefaultValToUTC(ctx, value, col) - if err != nil { - return hasDefaultValue, errors.Trace(err) + if !col.DefaultIsExpr { + if hasDefaultValue, value, err = checkColumnDefaultValue(ctx, col, value); err != nil { + return hasDefaultValue, errors.Trace(err) + } + value, err = convertTimestampDefaultValToUTC(ctx, value, col) + if err != nil { + return hasDefaultValue, errors.Trace(err) + } } err = setDefaultValueWithBinaryPadding(col, value) if err != nil {