簡體   English   中英

PostgreSQL的Java JDBC:使用添加列查詢執行的PreparedStatement返回false

[英]Java JDBC with PostgreSQL: PreparedStatement Execute with Add Column Query returns false

我正在嘗試向數據庫表中添加一列,

PreparedStatement  ps = con.prepareStatement(query);  
ps.execute();
ps.close();

查詢類似於(有效的SQL)

ALTER TABLE mytable ADD COLUMN mycolumn datatypeinfo

無論如何,它執行得很好,並且創建了列。 但是execute語句返回false。 我嘗試了executeUpdate,它返回0行。

請注意,整個過程都在con.setAutoCommit設置為false的事務中。 所以我不確定這是否是問題。 問題是我必須先創建列,然后才能進行其他更新查詢。 因此它必須在事務中運行。

execute()的返回值並不指示它是否成功,而是如果運行的查詢返回了結果。

由於ALTER TABLE不返回結果,因此execute()正確返回false

引用Javadocs

true true; true false

暫無
暫無

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

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