Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Java - cara mengelompokkan sisipan dan pembaruan basis data

Java tidak akan mengizinkan Anda menambahkan saja? dalam parameter string pernyataan siap, seperti yang diharapkan dari ? untuk tempat penampung hanya untuk parameter untuk memberikan SQL.

Untuk kasus Anda, Anda mungkin harus memiliki 2 objek pernyataan yang disiapkan, dan dalam pengulangan, Anda dapat membuat keputusan yang mana yang akan dipanggil. Jadi akan seperti di bawah ini:

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();

jika Anda memiliki insert , yang memiliki ketergantungan pada pembaruan, Anda dapat menjalankan batch yang sesuai. Ini akan memastikan bahwa pembaruan akan berfungsi dengan benar. Saya akan berpikir untuk menjalankan insert terlebih dahulu, karena mereka mungkin tidak bergantung pada pembaruan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. BATAS offset atau OFFSET dalam kueri SQL UPDATE

  2. jumlah yang berbeda (*)

  3. Desain DB:satu DB besar untuk semua pelanggan atau banyak DB kecil

  4. Cara memuat data tanggal di MySQL saat menggunakan LOAD DATA

  5. Ganti nama tabel dengan spasi mysql