PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Memasukkan pernyataan siap pakai ke database - PSQL

Anda salah memahami nilai kembalian PreparedStatement#execute() .

Harap hati-hati membaca javadoc:

Pengembalian:

true jika hasil pertama adalah ResultSet obyek; false jika hasil pertama adalah hitungan pembaruan atau tidak ada hasil.

Dengan demikian mengembalikan — seperti yang diharapkan sepenuhnya — false pada INSERT pertanyaan. Ini hanya mengembalikan true pada SELECT kueri (yang biasanya Anda ingin gunakan executeQuery() sebagai gantinya yang mengembalikan secara langsung ResultSet ).

Jika Anda tertarik dengan baris yang terpengaruh, gunakan PreparedStatement#executeUpdate() sebagai gantinya. Ini mengembalikan int sesuai javadoc:

Pengembalian:

baik (1) jumlah baris untuk pernyataan SQL Data Manipulation Language (DML) atau (2) 0 untuk pernyataan SQL yang tidak menghasilkan apa-apa

Nilai kembalian 1 atau lebih besar akan menunjukkan penyisipan yang berhasil.

Tidak terkait untuk masalah konkret:kode Anda membocorkan sumber daya DB. Harap baca dengan cermat Seberapa sering Connection, Statement, dan ResultSet harus ditutup di JDBC?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menyegarkan entitas JPA ketika basis data backend berubah secara tidak sinkron?

  2. Memulai Dengan Postgres 13 di Ubuntu 20.04

  3. PostgreSQL - Tambahkan kunci ke setiap objek dari array JSONB

  4. MigrationSchemaMissing(Tidak dapat membuat tabel django_migrations (%s) % exc)

  5. Menyebarkan PostgreSQL pada Wadah Docker