jsqlparserを使用してSQLクエリに式を追加できるかどうか疑問に思いました。たとえば、SQLステートメントに列と値を追加したいと思います。
元のクエリ: "INSERT INTO frontend
(in_reply_to
)VALUES(email
);"
変更されたクエリ: "INSERT INTO frontend
(in_reply_to
、user_id
)VALUES(email
、123)"
列名を変更できましたが、追加できませんでした。
これが私が持っているコードです:
ExtendedItemsListVisitor visitor = new ExtendedItemsListVisitor() {
private List expressions = null;
public List getExpressions() {
return this.expressions;
}
public void setExpressions(ExpressionList expressionList) {
this.expressions = expressionList.getExpressions();
}
public void visit(SubSelect subSelect) {
}
public void visit(ExpressionList expressionList) {
this.expressions = expressionList.getExpressions();
}
};
ItemsList itemsList = ((Insert)statement).getItemsList();
itemsList.accept(visitor);
ExpressionList expressions = (ExpressionList)visitor1.getExpressions();
Expression expression = new StringValue(newValue);
ExpressionVisitor visitor = new SetValueExpressionVisitor(newValue);