SQLStatement語句= parser . parse statement();
mysqlinterstatement insert =(mysqlinterstatement)語句;
然後,使用經過解析的insert,您可以獲得原始insert語句的所有部分:
列表& ltSQLExpr & gtcolumns = insert . get columns();//獲取所有列名
insert . getquery();//如果是insert into select語句,可以得到選擇查詢。
如果是批量插入:insert into tab (ID,name)值(1,' a '),(2,' b '),(3,' c ');
您可以使用:
列表& ltValuesClause & gtVCL = insert . getvalueslist();
獲取眾所周知的值子句的部分。
非批量插入,您可以使用:
列表& ltSQLExpr & gtvalue se = insert . get values()。get values();
獲取values子句。
使用以下語句可以獲得on duplicate部分:
列表& ltSQLExpr & gtdku = insert . getduplicatekeyupdate();
獲得這些之後,原始的SQL語句已經以各種方式進行了重組和重寫。