Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Java - cách chèn và cập nhật cơ sở dữ liệu hàng loạt

Java sẽ không cho phép bạn chỉ thêm? trong tham số chuỗi chuẩn bị sẵn sàng, như nó mong đợi là? chỉ dành cho trình giữ chỗ cho các tham số của SQL cung cấp.

Đối với trường hợp của bạn, bạn có thể phải có 2 đối tượng câu lệnh đã chuẩn bị sẵn và trong vòng lặp lại, bạn có thể đưa ra quyết định nên gọi đối tượng nào. Vì vậy, nó sẽ giống như dưới đây:

PreparedStatement insertPstmt = connection.prepareStatement("INSERT INTO MY_TABLE VALUES(?,?,?,?)");
PreparedStatement updatePstmt = connection.prepareStatement("UPDATE MY_TABLE, SET MY_VAL=? WHERE MY_VAL IS NULL");

While (<condition>) {
  If (<insert condition>) {
    // use insert pstmt and add batch
  } else {
    // use update pstmt and add batch
  }
}

insertPstmt.executeBatch(); 
updatePstmt.executeBatch();

nếu bạn có bất kỳ chèn nào, phụ thuộc vào bản cập nhật, bạn có thể thực thi các lô tương ứng. Điều này sẽ đảm bảo rằng bản cập nhật sẽ hoạt động chính xác. Tôi sẽ nghĩ đến việc thực thi chèn trước, vì chúng có thể không phụ thuộc vào cập nhật.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thay thế cho chức năng UUID Phiên bản 1 của MySQL?

  2. Tương tác 2 bảng:chèn, lấy kết quả, chèn

  3. Làm thế nào để viết một truy vấn SQL được tham số hóa trong javascript?

  4. Truy vấn cha mẹ và con cái trong bảng tự tham chiếu

  5. LOAD DATA LOCAL INFILE bị cấm trong ... PHP