Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menyelesaikan Nama Lajur Samar-samar dalam Set Keputusan SQL?

Bagaimana untuk Menyelesaikan Nama Lajur Samar-samar dalam Set Keputusan SQL?

DDD
DDDasal
2024-12-03 12:43:10474semak imbas

How to Resolve Ambiguous Column Names in SQL Result Sets?

Menyelesaikan Nama Lajur Samar-samar dalam Pengambilan Keputusan

Nama lajur samar-samar boleh timbul apabila mendapatkan semula hasil daripada jadual dengan nama lajur yang sama. Pertimbangkan senario berikut di mana kami mempunyai dua jadual, BERITA dan PENGGUNA, dengan nama lajur biasa:

Jadual BERITA:

  • id (ID berita)
  • pengguna (ID pengguna pengarang)

PENGGUNA Jadual:

  • id (ID pengguna)

Pertanyaan SQL:

Untuk mendapatkan semula data daripada jadual ini, kami melaksanakan pertanyaan SQL berikut:

SELECT * FROM news JOIN users ON news.user = user.id

Diingini Keputusan:

Kami ingin mendapatkan ID berita dan ID pengguna daripada keputusan. Walau bagaimanapun, mendapatkannya semula menggunakan $row['column-name'] akan membawa kepada kekaburan kerana nama lajur yang dikongsi.

Penyelesaian:

Untuk menyelesaikan kekaburan ini, kita boleh menetapkan alias pada lajur menggunakan kata kunci "AS":

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

Sekarang, apabila mengakses hasil dalam PHP, kami boleh mendapatkan ID berita sebagai $row['newsId'] dan ID pengguna sebagai $row['userId'].

Dengan mengalikan lajur dengan cara ini, kami memastikan data yang diambil boleh dikenal pasti secara unik, menjadikannya mudah untuk digunakan dalam aplikasi PHP anda.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Nama Lajur Samar-samar dalam Set Keputusan 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