pub struct Update<'a> {
pub update_span: Span,
pub flags: Vec<UpdateFlag>,
pub tables: Vec<TableReference<'a>>,
pub set_span: Span,
pub set: Vec<(Vec<Identifier<'a>>, Expression<'a>)>,
pub where_: Option<(Expression<'a>, Span)>,
}
Expand description
Representation of replace Statement
let sql = "UPDATE tab1, tab2 SET tab1.column1 = value1, tab1.column2 = value2 WHERE tab1.id = tab2.id";
let mut issues = Issues::new(sql);
let stmt = parse_statement(sql, &mut issues, &options);
let u: Update = match stmt {
Some(Statement::Update(u)) => u,
_ => panic!("We should get an update statement")
};
println!("{:#?}", u.where_.unwrap())
Fields§
§update_span: Span
Span of “UPDATE”
flags: Vec<UpdateFlag>
Flags specified after “UPDATE”
tables: Vec<TableReference<'a>>
List of tables to update
set_span: Span
Span of “SET”
set: Vec<(Vec<Identifier<'a>>, Expression<'a>)>
List of key,value pairs to set
where_: Option<(Expression<'a>, Span)>
Where expression and span of “WHERE” if specified
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Update<'a>
impl<'a> RefUnwindSafe for Update<'a>
impl<'a> Send for Update<'a>
impl<'a> Sync for Update<'a>
impl<'a> Unpin for Update<'a>
impl<'a> UnwindSafe for Update<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more