SQL UPDATE JOIN ralat pertanyaan: "Lajur tidak diketahui dalam senarai medan"
Apabila melaksanakan pertanyaan kemas kini dalam MySQL, terutamanya operasi KEMASKINI JOIN, anda mungkin menghadapi kod ralat #1054, menggesa "Lajur tidak diketahui dalam senarai medan".
Ralat ini biasanya berpunca daripada ralat sintaks dalam penggunaan backtick (`), petikan tunggal (') atau petikan berganda ("). Dalam MySQL, backtick biasanya digunakan untuk melampirkan nama lajur, manakala petikan tunggal atau berganda ialah dikhaskan untuk nilai
.Dalam pertanyaan yang disediakan:
<code class="language-sql">UPDATE MASTER_USER_PROFILE, TRAN_USER_BRANCH SET MASTER_USER_PROFILE.fellow=`y` WHERE MASTER_USER_PROFILE.USER_ID = TRAN_USER_BRANCH.USER_ID AND TRAN_USER_BRANCH.BRANCH_ID = 17</code>
Ralat berlaku kerana nilai 'y' disertakan dalam tanda belakang, yang MySQL tafsirkan sebagai rujukan kepada lajur bernama 'y'. Untuk menyelesaikan isu ini, pastikan nilai disertakan dalam petikan tunggal atau berganda dan nama lajur disertakan dalam tanda belakang.
Sintaks yang betul hendaklah:
<code class="language-sql">UPDATE MASTER_USER_PROFILE, TRAN_USER_BRANCH SET MASTER_USER_PROFILE.fellow='y' WHERE MASTER_USER_PROFILE.USER_ID = TRAN_USER_BRANCH.USER_ID AND TRAN_USER_BRANCH.BRANCH_ID = 17</code>
Dengan meletakkan nilai 'y' dalam petikan tunggal, pertanyaan menetapkan nilai lajur rakan dalam jadual MASTER_USER_PROFILE dengan betul.
Atas ialah kandungan terperinci Mengapa My MySQL UPDATE JOIN Query Mengembalikan 'Lajur tidak diketahui dalam 'senarai medan''?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!