**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
        {
            
            
            ast_rename->exchange = true;
        }
        InterpreterRenameQuery interpreter_rename{ast_rename, current_context};
        interpreter_rename.execute();
        renamed = true;
        if (!interpreter_rename.renamedInsteadOfExchange())
        {
            
            auto drop_context = make_drop_context(false);
            InterpreterDropQuery(ast_drop, drop_context).execute();
        }
        create.setTable(table_to_replace_name);
        return {};
    }
    catch (...)
    {
        
        if (created && !renamed)
        {
            auto drop_context = make_drop_context(true);
            InterpreterDropQuery(ast_drop, drop_context).execute();
        }
        throw;
    }
}
BlockIO InterpreterCreateQuery::fillTableIfNeeded(const ASTCreateQuery & create)