2626import net .sf .jsqlparser .statement .Statement ;
2727import net .sf .jsqlparser .statement .StatementVisitor ;
2828import net .sf .jsqlparser .statement .create .table .ColDataType ;
29+ import net .sf .jsqlparser .statement .create .table .ForeignKeyIndex ;
2930import net .sf .jsqlparser .statement .select .PlainSelect ;
3031
3132/**
@@ -40,6 +41,7 @@ public class Alter implements Statement {
4041 private List <String > pkColumns ;
4142 private List <String > ukColumns ;
4243 private String ukName ;
44+ private ForeignKeyIndex fkIndex = null ;
4345
4446 private boolean onDeleteCascade ;
4547
@@ -134,6 +136,14 @@ public void accept(StatementVisitor statementVisitor) {
134136 statementVisitor .visit (this );
135137 }
136138
139+ public ForeignKeyIndex getFkIndex () {
140+ return fkIndex ;
141+ }
142+
143+ public void setFkIndex (ForeignKeyIndex fkIndex ) {
144+ this .fkIndex = fkIndex ;
145+ }
146+
137147 @ Override
138148 public String toString () {
139149 StringBuilder b = new StringBuilder ();
@@ -145,11 +155,14 @@ public String toString() {
145155 } else if (ukColumns != null ) {
146156 b .append ("UNIQUE KEY " ).append (ukName ).append (" (" ).append (PlainSelect .getStringList (ukColumns )).append (")" );
147157 } else if (fkColumns != null ) {
148- b .append ("FOREIGN KEY (" ).append (PlainSelect .getStringList (fkColumns )).append (") REFERENCES " ).append (fkSourceTable ).append (" (" ).append (PlainSelect .getStringList (fkSourceColumns )).append (")" );
158+ b .append ("FOREIGN KEY (" ).append (PlainSelect .getStringList (fkColumns )).append (") REFERENCES " ).append (fkSourceTable ).append (" (" ).append (
159+ PlainSelect .getStringList (fkSourceColumns )).append (")" );
149160 if (isOnDeleteCascade ()) {
150161 b .append (" ON DELETE CASCADE" );
151162 }
152- }
153- return b .toString ();
163+ } else if (fkIndex != null ) {
164+ b .append (fkIndex );
165+ }
166+ return b .toString ();
154167 }
155168}
0 commit comments