![](/img/trans.png)
[英]last insterted record does not reflect in select statement in mysql using JDBC
[英]Math Expression in SELECT statement using JDBC/MySQL
我編寫了一個使用聯接和子查詢的MySQL查詢,最后在最外層的SELECT
語句中獲取所需的列。 它類似於:
SELECT X,Y,Z
FROM
(SELECT A,B,C,X
FROM T1
JOIN
(SELECT D,E,F,Y
FROM T2) ALIAS ON CONDITION....
等等等等。 現在,我想做Z/Y
,所以我做了
SELECT X,Y,Z,Z/Y
FROM
YADA YADA YADA
這在MySQL中有效,但是當我在Java程序中執行相同操作時,會引發錯誤,並說:
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'Z/Y'
我該如何克服這個問題?
原來,我忘了在倒數第二欄中添加逗號,這是導致問題的原因。 感覺像個傻瓜!
是的,你是。 我也是如此。從好的方面來說,至少我必須重置我的oracle帳戶上的密碼。
import java.sql.*;
public class TwoAndTwo {
private Connection connect = null;
private Statement statement = null;
private PreparedStatement preparedStatement = null;
private ResultSet resultSet = null;
public void readDataBase() throws Exception {
try {
Class.forName("com.mysql.jdbc.Driver");
connect = DriverManager
.getConnection("jdbc:mysql://localhost/foobar?"
+ "user=root&password=root");
statement = connect.createStatement();
resultSet = statement
.executeQuery("select 2+2 as computation");
resultSet.next();
System.out.println( resultSet.getString("computation"));
} catch (Exception e) { throw e; } finally { close(); }
}
private void close() {
try { if (resultSet != null) { resultSet.close(); }
if (statement != null) { statement.close(); }
if (connect != null) { connect.close(); }
} catch (Exception e) {
e.printStackTrace(); }
}
public static void main(String[] argv) {
TwoAndTwo tnt = new TwoAndTwo();
try { tnt.readDataBase();
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}
$ javac TwoAndTwo.java
$ java -cp mysql-connector-java-5.1.29-bin.jar:. TwoAndTwo
4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.