Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyelesaikan 'Lajur 'id' dalam senarai medan adalah samar-samar' Ralat SQL?

Bagaimana untuk Menyelesaikan 'Lajur 'id' dalam senarai medan adalah samar-samar' Ralat SQL?

Susan Sarandon
Lepaskan: 2025-01-19 18:38:11
asal
1060 orang telah melayarinya

How to Resolve the

Menyelesaikan Kekaburan SQL: Masalah Lajur 'id'

Menerima ralat "1052: Lajur 'id' dalam senarai medan adalah samar-samar" dalam pertanyaan SQL anda? Ini berlaku apabila penyataan SELECT anda termasuk lajur id hadir dalam berbilang jadual bercantum. Pangkalan data tidak dapat menentukan id yang anda ingin dapatkan semula.

Penyelesaian adalah untuk menentukan sumber jadual bagi setiap lajur id. Ini boleh dilakukan menggunakan sama ada nama jadual penuh atau, lebih cekap, alias jadual.

Menggunakan Nama Jadual Penuh:

Pendekatan ini menyatakan secara eksplisit asal jadual setiap id:

SELECT tbl_names.id, tbl_section.id, name, section
FROM tbl_names
JOIN tbl_section ON tbl_section.id = tbl_names.id
Salin selepas log masuk

Menggunakan Alias ​​Jadual (Disyorkan):

Alias ​​jadual memendekkan pertanyaan dan meningkatkan kebolehbacaan:

SELECT n.id, s.id, n.name, s.section
FROM tbl_names AS n
JOIN tbl_section AS s ON s.id = n.id
Salin selepas log masuk

Kedua-dua kaedah mencapai hasil yang sama, tetapi alias biasanya lebih disukai kerana keringkasannya.

Memahami Sintaks JOIN: ANSI-92 lwn. ANSI-89

Contoh di atas menggunakan sintaks ANSI-92 JOIN. Walaupun fungsinya serupa dengan sintaks ANSI-89 yang lebih lama untuk INNER JOINs ringkas, ANSI-92 lebih unggul untuk pengendalian OUTER JOINs yang lebih jelas (KIRI, KANAN, PENUH). Untuk kebolehselenggaraan dan untuk memanfaatkan kuasa penuh JOIN operasi, ANSI-92 ialah standard yang disyorkan.

Dengan melayakkan nama lajur anda dengan betul dan menggunakan sintaks ANSI-92 JOIN moden, anda akan menghapuskan kekaburan dan menulis pertanyaan SQL yang lebih cekap dan boleh dibaca.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan 'Lajur 'id' dalam senarai medan adalah samar-samar' Ralat SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan