**Describe the unexpected behaviour**

```
:) CREATE TEMPORARY TABLE test (x INT NOT NULL DEFAULT 1)

Syntax error: failed at position 52 ('DEFAULT') (line 3, col 22):

CREATE TEMPORARY TABLE test
(
    `x` INT NOT NULL DEFAULT 1
                     ^
)

Expected one of: COMMENT, CODEC, TTL, token, Comma, ClosingRoundBracket
```

But this query succeeded:

```
:) CREATE TEMPORARY TABLE test (x INT DEFAULT 1 NOT NULL)

CREATE TEMPORARY TABLE test
(
    `x` INT NOT NULL DEFAULT 1
)
```
}
            else if (make_columns_nullable)
            {
                column_type = makeNullable(column_type);
            }
            else if (!hasNullable(column_type) &&
                     col_decl.default_specifier == "DEFAULT" &&
                     col_decl.default_expression &&
                     col_decl.default_expression->as<ASTLiteral>() &&
                     col_decl.default_expression->as<ASTLiteral>()->value.isNull())
            {
                if (column_type->lowCardinality())
                {
                    const auto * low_cardinality_type = typeid_cast<const DataTypeLowCardinality *>(column_type.get());
                    assert(low_cardinality_type);
                    column_type = std::make_shared<DataTypeLowCardinality>(makeNullable(low_cardinality_type->getDictionaryType()));
                }
                else
                    column_type = makeNullable(column_type);
            }
            column_names_and_types.emplace_back(col_decl.name, column_type);
        }
        else
        {
            
            column_names_and_types.emplace_back(col_decl.name, std::make_shared<DataTypeUInt8>());
        }
        
        if (col_decl.default_expression)
        {