**Describe the unexpected behaviour**

```
:) CREATE TEMPORARY TABLE test (x INT UNSIGNED)

CREATE TEMPORARY TABLE test
(
    `x` INT UNSIGNED
)

Query id: f4fa2663-3a8a-445d-a9cb-de759ac191de

Ok.

0 rows in set. Elapsed: 0.002 sec. 

:) DROP TABLE test

DROP TABLE test

Query id: 32fee2e0-78c4-4fed-8c34-78c5aaab2781

Ok.

0 rows in set. Elapsed: 0.001 sec. 

ubuntu-4gb-nbg1-2 :) CREATE TEMPORARY TABLE test (x INT(11) UNSIGNED)

Syntax error: failed at position 40 ('UNSIGNED')
```
#include <Parsers/ParserDataType.h>
#include <Parsers/ASTFunction.h>
#include <Parsers/ASTIdentifier_fwd.h>
#include <Parsers/CommonParsers.h>
#include <Parsers/ExpressionElementParsers.h>
#include <Parsers/ParserCreateQuery.h>
namespace DB
{
namespace
{
class ParserDataTypeArgument : public IParserBase
{
private:
    const char * getName() const override { return "data type argument"; }
    bool parseImpl(Pos & pos, ASTPtr & node, Expected & expected) override
    {
        ParserNestedTable nested_parser;
        ParserDataType data_type_parser;
        ParserLiteral literal_parser;
        const char * operators[] = {"=", "equals", nullptr};
        ParserLeftAssociativeBinaryOperatorList enum_parser(operators, std::make_unique<ParserLiteral>());
        if (pos->type == TokenType::BareWord && std::string_view(pos->begin, pos->size()) == "Nested")
            return nested_parser.parse(pos, node, expected);
        return enum_parser.parse(pos, node, expected)
            || literal_parser.parse(pos, node, expected)
            || data_type_parser.parse(pos, node, expected);
    }
};
}
bool ParserDataType::parseImpl(Pos & pos, ASTPtr & node, Expected & expected)