Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengelakkan Kekaburan Apabila Mendapatkan Keputusan dengan Nama Lajur Bertindih dalam SQL?

Bagaimanakah Saya Boleh Mengelakkan Kekaburan Apabila Mendapatkan Keputusan dengan Nama Lajur Bertindih dalam SQL?

Susan Sarandon
Lepaskan: 2024-12-06 10:16:12
asal
947 orang telah melayarinya

How Can I Avoid Ambiguity When Retrieving Results with Overlapping Column Names in SQL?

Pendapatan Hasil dengan Nama Lajur Kabur

Apabila mendapatkan semula hasil daripada pangkalan data yang mengandungi berbilang jadual dengan nama lajur yang bertindih, anda mungkin menghadapi kesamaran dalam mengakses nilai yang dikehendaki. Dalam contoh ini, kami menemui dua jadual: BERITA dan PENGGUNA, kedua-duanya mempunyai lajur 'id'.

Pernyataan Masalah

Untuk mendapatkan ID berita dan ID pengguna, kami melaksanakan pertanyaan SQL berikut:

SELECT * FROM news JOIN users ON news.user = user.id
Salin selepas log masuk

Walau bagaimanapun, apabila mengakses keputusan dalam PHP menggunakan tatasusunan bersekutu dan sintaks $row['column-name'], kami menghadapi cabaran untuk mengenal pasti lajur ID tertentu.

Penyelesaian

Untuk menyelesaikan kekaburan ini, kami boleh menetapkan alias kepada lajur yang dipilih. Menggunakan alias ini, kami boleh merujuk secara eksplisit lajur yang dikehendaki daripada jadual tertentu.

Pertanyaan SQL yang diubah suai dengan alias:

$query = 'SELECT news.id AS newsId, user.id AS userId, [OTHER FIELDS HERE] FROM news JOIN users ON news.user = user.id'
Salin selepas log masuk

Kini, apabila mendapatkan semula hasil dalam PHP, kita boleh menggunakan alias untuk mengakses lajur, contohnya:

$newsId = $row['newsId'];
$userId = $row['userId'];
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengelakkan Kekaburan Apabila Mendapatkan Keputusan dengan Nama Lajur Bertindih dalam SQL?. 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