簡體   English   中英

更新並選擇單個查詢。 Scala中的SQL語法錯誤

[英]Update and select in single query . Sql syntax error in Scala

我正在嘗試使用以下查詢來查詢數據庫。 當我在mysql服務器中運行查詢時,它工作正常。 但是,當我在scala中運行相同的查詢時,會引發錯誤。

我想在db中獲得單行,其cid_status為“未保留”且cid_curprocess為“ process1”,並將相同的cid_status更新為“保留”,並獲取該行的cid_issueid

下面是查詢。

val query =“ SET @LastUpdateID:= 0;更新table_details內聯接(從cen_issue_details中選擇cid_issueid,其中cid_curprocess ='process1'和cid_status ='unreserved'LIMIT 1)AS final ON cen_issue_details.cid_issueid = final.cid_issue。 'reserved',cen_issue_details.cid_issueid =(SELECT @LastUpdateID:= cen_issue_details.cid_issueid); SELECT @LastUpdateID AS LastUpdateID;

val rs = statement.executeUpdate(query)

我收到以下錯誤:

線程“ main”中的異常com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL語法有錯誤。 檢查與您的MySQL服務器版本相對應的手冊,以找到在'UPDATE table_details INNER JOIN(SELECT cid_issueid FROM cen_issue_details W'

另外,由於查詢同時執行SELECT和UPDATE,因此我不確定是否要使用executeUpdate或executeQuery。

Statement.executeupdate(String)僅接受一個語句,但是您提供了兩個。

請參閱https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#executeUpdate(java.lang.String)上的文檔

這個問題討論了使用JDBC在一次往返中執行多個語句的選項: 單個批處理中兩個不同的准備好的語句

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM