diff --git a/ddl/partition.go b/ddl/partition.go index 535ca98f1674b..4826057be4bbb 100644 --- a/ddl/partition.go +++ b/ddl/partition.go @@ -50,8 +50,19 @@ func buildTablePartitionInfo(ctx sessionctx.Context, d *ddl, s *ast.CreateTableS enable = false default: // When tidb_enable_table_partition = 'auto', - // Partition by range expression is enabled by default. - if s.Partition.Tp == model.PartitionTypeRange && s.Partition.ColumnNames == nil { + if s.Partition.Tp == model.PartitionTypeRange { + // Partition by range expression is enabled by default. + if s.Partition.ColumnNames == nil { + enable = true + } + // Partition by range columns and just one column. + if len(s.Partition.ColumnNames) == 1 { + enable = true + } + } + // Partition by hash is enabled by default. + // Note that linear hash is not enabled. + if s.Partition.Tp == model.PartitionTypeHash { enable = true } }