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

mengapa saya bisa menggunakan metode first() ketika tipe hasil saya hanya diteruskan?

Perilaku default untuk MySQL Connector/J adalah memuat seluruh konten ResultSet ke dalam memori segera setelah .executeQuery disebut. Jadi, meskipun ResultSet our kami adalah TYPE_FORWARD_ONLY pengembang MySQL JDBC tampaknya memutuskan untuk menjadi "baik" dan mengizinkan kami menggunakan .first , .absolute , dll. dalam kasus itu (karena seluruh ResultSet ada dalam memori dan tersedia), meskipun spesifikasi JDBC mengatakan

Namun, perhatikan bahwa jika seluruh ResultSet tidak dijamin berada di memori, misalnya jika kita menggunakan st.setFetchSize(Integer.MIN_VALUE) untuk "mengalirkan" ResultSet saat kami menggulirnya, MySQL Connector/J tidak akan membiarkan kami menggunakan apa pun selain .next atau kita akan mendapatkan

com.mysql.jdbc.OperationNotSupportedException: Operation not supported for streaming result sets



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pencarian teks lengkap mysql tidak berfungsi untuk 3 karakter

  2. PHP MySQL melalui SSL. Sertifikat rekan tidak cocok

  3. PHP PDO Pernyataan yang disiapkan mengikat nilai NULL

  4. Docker Compose impor mysql .sql

  5. Bagaimana cara menambahkan cap tanggal dan waktu ke INSERT melalui PHP dengan mySQL?