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

Masukkan data formulir ke dalam dua tabel berbeda di database melalui halaman jsp

Solusi 1

Buat dua instance Pernyataan berbeda untuk dua operasi penyisipan Anda.

Solusi 2

Jika Anda ingin menggunakan kembali satu instance Pernyataan, tutup sumber daya dalam Akhirnya memblokir. Sebenarnya, selalu merupakan ide yang baik untuk memasukkan pernyataan penutup akhirnya blokir atau cukup gunakan try-catch-resource yang ditawarkan jdk7+.

Tidak terkait dengan pertanyaan konkret Anda

  • Sangat disarankan agar Anda menghindari penggunaan kode java dalam file jsp. Cari istilah "jsp servlet mvc".
  • Gunakan PreparedStatement alih-alih Statement untuk menghindari serangan injeksi sql.

EDIT untuk solusi 1:

Di blok percobaan pertama Anda:
Di bawah Statement myStatement = myConnection.createStatement();
tambahkan Statement myStatementTwo = myConnection.createStatement();

Di blok percobaan kedua Anda:
ubah myStatement.executeUpdate(sqlString);
ke myStatementTwo.executeUpdate(sqlString);

Tambahkan blok terakhir untuk blok percobaan pertama Anda dan tutup semua sumber daya Anda di sana. Mengedit kode Anda hampir sama dengan menulis ulang semuanya dari awal, itu akan sangat menguntungkan Anda jika Anda bisa melakukannya sendiri.

EDIT setelah OP menyediakan kode HTML dan database

Kategori_Has_Tujuan . Anda Tujuan_idTujuan table tabel adalah peningkatan_otomatis kolom tetapi juga merupakan referensi kunci asing Tujuan kunci utama idDest . Kunci asing Tabel Referensi (tabel gabungan) tidak boleh menjadi auto_increment. Akan ada masalah jika nilai peningkatan otomatis yang dihasilkan oleh DBMS tidak ada di tabel referensi.

Harap buat kunci asing tidak bertambah secara otomatis dan saat Anda memasukkan ke tabel referensi Dest_has_Categories , harap masukkan Kategori yang ada id dan Tujuan id.

Selain itu, saat Anda mengubah kode, pastikan juga menggunakan Solusi 2 saya untuk praktik terbaik.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mendapatkan Tanggal dan Waktu Saat Ini di MySQL

  2. permintaan mysql untuk memperbarui bidang ke maks (bidang) + 1

  3. Properti ConnectionString belum diinisialisasi kesalahan

  4. Masalah Batas Waktu MYSQL 8 Jam

  5. Query Mysql untuk Menghapus Duplikat Komentar Wordpress?