Bagaimanakah Saya Boleh Menyoal Data Dengan Jenis Lajur Tidak Diketahui dalam Pakej SQL Go?

Barbara Streisand
Lepaskan: 2024-11-03 01:57:02
asal
235 orang telah melayarinya

How Can I Query Data With Unknown Column Types in Go's SQL Package?

Meneroka Pertanyaan Ad Hoc dalam Pakej SQL Go

Walaupun dokumentasi mencadangkan bahawa menanya data dalam Go menggunakan pakej SQL memerlukan mengetahui kiraan lajur dan jenis pada masa penyusunan, ini tidak benar. Jenis sql.Rows menawarkan penyelesaian untuk pertanyaan SQL yang fleksibel dan ad hoc.

Pendapatan Metadata Lajur Dinamik

Kaedah Lajur dalam sql.Rows menyediakan senarai bagi nama lajur hasil. Ini membolehkan anda menentukan secara dinamik bilangan lajur yang dikembalikan oleh pertanyaan sewenang-wenangnya.

Mengimbas Jenis Data Tidak Diketahui

Kaedah Imbasan menyokong nilai pengimbasan jenis yang tidak diketahui ke dalam sama ada kepingan bait mentah (*[]bait) atau nilai{} antara muka. Ini membolehkan anda mendapatkan semula data lajur tanpa menentukan jenisnya terlebih dahulu.

Bekerja dengan Pertanyaan Ad Hoc

Menggabungkan teknik ini, anda boleh melaksanakan pertanyaan ad hoc dan mendapatkan data ke dalam sekeping nilai antara muka{}:

<code class="go">columnNames, err := rows.Columns()
if err != nil {
    // Handle error
}
columns := make([]interface{}, len(columnNames))
columnPointers := make([]interface{}, len(columnNames))
for i := 0; i < len(columnNames); i++ {
    columnPointers[i] = &columns[i]
}
if err := rows.Scan(columnPointers...); err != nil {
    // Handle error
}</code>
Salin selepas log masuk

Selepas ini, lajur slice akan mengandungi nilai yang dinyahkodkan untuk semua lajur dalam baris hasil. Dengan memanfaatkan kaedah Lajur dan Imbasan, anda boleh mengendalikan pertanyaan ad hoc dengan berkesan dalam pakej SQL Go.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyoal Data Dengan Jenis Lajur Tidak Diketahui dalam Pakej SQL Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!