Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menentukan Lajur Ambiguous \'user_id\' dalam Klausa MySQL WHERE?

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

Mary-Kate Olsen
Lepaskan: 2024-10-23 17:26:02
asal
354 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!

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