Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menyelesaikan Nama Lajur Samar-samar dalam Pertanyaan SQL?

Bagaimanakah Saya Boleh Menyelesaikan Nama Lajur Samar-samar dalam Pertanyaan SQL?

Patricia Arquette
Patricia Arquetteasal
2024-12-10 12:57:09631semak imbas

How Can I Resolve Ambiguous Column Names in SQL Queries?

Menyelesaikan Nama Lajur Kabur dalam Keputusan SQL

Apabila menanyakan data daripada berbilang jadual dengan nama lajur yang serupa, ia boleh membawa kepada kekaburan apabila mendapatkan semula hasil dalam bahasa seperti PHP. Artikel ini membincangkan cara menyelesaikan kekaburan ini dengan menggunakan alias untuk membezakan antara lajur dengan nama yang sama.

Pertimbangkan senario di mana anda mempunyai dua jadual, BERITA dan PENGGUNA, dengan lajur berikut:

  • BERITA: id (ID berita), pengguna (ID pengguna pengarang)
  • PENGGUNA: id (ID pengguna)

Untuk mendapatkan semula ID berita dan ID pengguna, sambil mengelakkan sebarang kesamaran, anda boleh melaksanakan pertanyaan SQL berikut:

SELECT news.id AS newsId, user.id AS userId, [OTHER FIELDS HERE]
FROM news
JOIN users
ON news.user = user.id

Dengan memberikan alias kepada lajur, seperti newsId dan userId dalam pertanyaan di atas, anda boleh mengenal pasti secara eksplisit setiap nama lajur apabila mendapatkan semula keputusan. Dalam PHP, ini membolehkan anda mengakses nilai lajur menggunakan alias ini:

$row['newsId'] // News ID
$row['userId'] // User ID

Kaedah ini memastikan anda boleh mengakses nilai lajur yang dikehendaki tanpa sebarang kekeliruan, walaupun terdapat berbilang lajur dengan nama yang sama dalam jadual yang berbeza dalam pertanyaan anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyelesaikan Nama Lajur Samar-samar dalam Pertanyaan SQL?. 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