diff --git a/src/main/java/com/alibaba/druid/sql/dialect/mysql/parser/MySqlExprParser.java b/src/main/java/com/alibaba/druid/sql/dialect/mysql/parser/MySqlExprParser.java index deef36e75f..ecfea5f794 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/mysql/parser/MySqlExprParser.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/mysql/parser/MySqlExprParser.java @@ -578,7 +578,12 @@ public class MySqlExprParser extends SQLExprParser { if (identifierEquals("UNSIGNED")) { lexer.nextToken(); - dataType.getAttributes().put("unsigned", true); + dataType.getAttributes().put("UNSIGNED", true); + } + + if (identifierEquals("ZEROFILL")) { + lexer.nextToken(); + dataType.getAttributes().put("ZEROFILL", true); } return dataType; diff --git a/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlOutputVisitor.java b/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlOutputVisitor.java index d6b9a74894..79787870aa 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlOutputVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlOutputVisitor.java @@ -343,9 +343,14 @@ public class MySqlOutputVisitor extends SQLASTOutputVisitor implements MySqlASTV print(")"); } - if (Boolean.TRUE == x.getAttribute("unsigned")) { - print(" unsigned"); + if (Boolean.TRUE == x.getAttribute("UNSIGNED")) { + print(" UNSIGNED"); } + + if (Boolean.TRUE == x.getAttribute("ZEROFILL")) { + print(" ZEROFILL"); + } + if (x instanceof SQLCharactorDataType) { SQLCharactorDataType charType = (SQLCharactorDataType) x;