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
@@ -154,6 +156,14 @@ public void accept(StatementVisitor statementVisitor) {
154156 statementVisitor .visit (this );
155157 }
156158
159+ public ForeignKeyIndex getFkIndex () {
160+ return fkIndex ;
161+ }
162+
163+ public void setFkIndex (ForeignKeyIndex fkIndex ) {
164+ this .fkIndex = fkIndex ;
165+ }
166+
157167 @ Override
158168 public String toString () {
159169 StringBuilder b = new StringBuilder ();
@@ -165,15 +175,18 @@ public String toString() {
165175 } else if (ukColumns != null ) {
166176 b .append ("UNIQUE KEY " ).append (ukName ).append (" (" ).append (PlainSelect .getStringList (ukColumns )).append (")" );
167177 } else if (fkColumns != null ) {
168- b .append ("FOREIGN KEY (" ).append (PlainSelect .getStringList (fkColumns )).append (") REFERENCES " ).append (fkSourceTable ).append (" (" ).append (PlainSelect .getStringList (fkSourceColumns )).append (")" );
178+ b .append ("FOREIGN KEY (" ).append (PlainSelect .getStringList (fkColumns )).append (") REFERENCES " ).append (fkSourceTable ).append (" (" ).append (
179+ PlainSelect .getStringList (fkSourceColumns )).append (")" );
169180 if (isOnDeleteCascade ()) {
170181 b .append (" ON DELETE CASCADE" );
171182 } else if (isOnDeleteRestrict ()) {
172183 b .append (" ON DELETE RESTRICT" );
173184 } else if (isOnDeleteSetNull ()) {
174185 b .append (" ON DELETE SET NULL" );
175186 }
176- }
177- return b .toString ();
187+ } else if (fkIndex != null ) {
188+ b .append (fkIndex );
189+ }
190+ return b .toString ();
178191 }
179192}
0 commit comments