今天在idea中寫了一句刪除數據的SQL,執行成功返回值=false,執行失敗返回值還是=false! emmm
結論:
// 研究了一下
Statement.execute(sql); // 不要用這個方法執行刪除語句,無論數據刪除成功和失敗都是返回false
Statement.executeUpdate(sql); // 得換成這種用更新數據的方法去刪除數據,返回值>=1表示刪除成功行數
附上我的代碼:
// 引入必要的包
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class Mysqlconn {
// 配置信息
static String qu = "com.mysql.cj.jdbc.Driver"; // JDBC驅動
static String db_url = "jdbc:mysql://localhost:3306/testdb"; // url
static String user = "root"; // user
static String pass = "root"; // pass
public static void main(String[] args) throws Exception {
Connection conn;
Statement stmt;
Class.forName("com.mysql.cj.jdbc.Driver"); // 加載驅動
conn = DriverManager.getConnection(db_url,user,pass); // 連接MySQL
stmt = conn.createStatement();// 實例化一個Statement對象
String sql = "delete from test where id=1"; // sql
int res=stmt.executeUpdate(sql); // 執行SQL語句
System.out.println(res); // 成功刪除,返回值=1,反之返回值=0
運行:

相關文檔:Java Statement.execute() 方法用於執行任意指定的 SQL 語句。該方法的返回值為 boolean 類型,判斷第一個結果是否為 ResultSet 對象,如果是,則返回 true,否則返回 false。