Bagaimana untuk Menentukan Lajur Ambiguous \'user_id\' dalam Klausa MySQL WHERE?

Mary-Kate Olsen
Lepaskan: 2024-10-23 17:26:02
asal
213 orang telah melayarinya

How to Specify the Ambiguous 'user_id' Column in a MySQL WHERE Clause?

Mengatasi Kekaburan dalam 'user_id' MySQL WHERE Klausa

Apabila bekerja dengan berbilang jadual yang berkongsi nama lajur, MySQL boleh menghadapi kekaburan apabila menggunakan lajur itu dalam klausa WHERE. Ini jelas dalam mesej ralat 'user_id' di mana klausa adalah samar-samar.

Pertimbangkan contoh pertanyaan:

SELECT user.*, user_info.* 
FROM user 
INNER JOIN user_info ON user.user_id = user_info.user_id
WHERE user_id=1
Salin selepas log masuk

Dalam pertanyaan ini, kedua-dua jadual 'pengguna' dan 'info_pengguna' mempunyai lajur 'user_id'. Walau bagaimanapun, MySQL tidak dapat menentukan lajur 'user_id' mana yang hendak digunakan dalam klausa WHERE.

Menyelesaikan Kekaburan

Untuk menyelesaikan kekaburan, kita mesti menentukan 'user_id' yang mana lajur untuk digunakan. Ini boleh dicapai dengan menambah nama jadual sebagai awalan pada nama lajur, seperti yang ditunjukkan di bawah:

... WHERE user.user_id=1
Salin selepas log masuk

Dengan menyatakan 'user.user_id', kami mengisytiharkan secara eksplisit bahawa kami mahu menggunakan 'user_id' lajur daripada jadual 'pengguna' dalam klausa WHERE.

Penjelasan ini menghapuskan kekaburan dan membenarkan MySQL melaksanakan pertanyaan tanpa menemui 'user_id' di mana klausa adalah ralat samar-samar. Ingat untuk sentiasa menyatakan awalan jadual apabila merujuk nama lajur samar-samar dalam klausa WHERE untuk mengelakkan perkara ini dan isu yang serupa pada masa hadapan.

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Lajur Ambiguous \'user_id\' dalam Klausa MySQL WHERE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber: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
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!