Rumah >pangkalan data >tutorial mysql >Adakah Terdapat Pertanyaan Ujian Sambungan SQL Pangkalan Data-Agnostik yang Benar?

Adakah Terdapat Pertanyaan Ujian Sambungan SQL Pangkalan Data-Agnostik yang Benar?

Patricia Arquette
Patricia Arquetteasal
2024-12-30 17:13:08953semak imbas

Is There a Truly Database-Agnostic SQL Connection Test Query?

Pertanyaan Ujian Pangkalan Data-Agnostik untuk Sambungan SQL

Perpustakaan pengumpulan sambungan pangkalan data selalunya menyertakan fungsi untuk menguji sambungan SQL untuk kemalasan. Walau bagaimanapun, banyak pertanyaan ujian yang disyorkan, seperti "PILIH 1;", adalah khusus untuk pangkalan data tertentu dan mungkin gagal dengan yang lain.

Adakah terdapat pertanyaan ujian pangkalan data-agnostik yang benar-benar?

Malangnya, tiada pertanyaan tunggal yang berfungsi merentas semua SQL pangkalan data.

Pertanyaan Khusus Pangkalan Data

Jika anda memerlukan pendekatan yang komprehensif, pertimbangkan untuk menggunakan berbilang pertanyaan yang disesuaikan dengan pembekal pangkalan data yang berbeza:

  • MySQL, H2, PostgreSQL, SQLite, Hive: PILIH 1
  • Oracle: PILIH 1 DARI DUAL
  • HSQLDB: PILIH 1 DARI mana-mana_meja_sedia_ada DIMANA 1=0
    PILIH 1 DARIPADA MAKLUMAT_SIMAK_US
    PANGGILAN NOW()
  • Apache Derby: NILAI 1 atau PILIH 1 DARI SYSIBM.SYSDUMMY1
  • DB2: PILIH 1 DARI SYSIBM.SYSDUMMY1
  • Informix: pilih count(*) daripada systables

Nota:

  • Jika menggunakan WHERE 1=0 dalam HSQLDB, pastikan ia mengembalikan baris untuk Apache Commons DBCP's validationQuery.
  • Pertimbangkan menggunakan teknik pengaturcaraan untuk menentukan dan melaksanakan pertanyaan yang sesuai berdasarkan konfigurasi pembekal pangkalan data.

Atas ialah kandungan terperinci Adakah Terdapat Pertanyaan Ujian Sambungan SQL Pangkalan Data-Agnostik yang Benar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn