**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
)
```
DatabaseCatalog::instance().attachDatabase(database_name, database);
        added = true;
        if (need_write_metadata)
        {
            
            renameNoReplace(metadata_file_tmp_path, metadata_file_path);
            renamed = true;
        }
        if (!load_database_without_tables)
        {
            
            TablesLoader loader{getContext()->getGlobalContext(), {{database_name, database}}, has_force_restore_data_flag, create.attach && force_attach}; 
            loader.loadTables();
            loader.startupTables();
        }
    }
    catch (...)
    {
        if (renamed)
        {
            [[maybe_unused]] bool removed = fs::remove(metadata_file_path);
            assert(removed);
        }
        if (added)
            DatabaseCatalog::instance().detachDatabase(getContext(), database_name, false, false);
        throw;
    }
    return {};
}
ASTPtr InterpreterCreateQuery::formatColumns(const NamesAndTypesList & columns)