Rumah >pangkalan data >tutorial mysql >Mengapa Pertanyaan KEMASKINI MySQL Saya dengan INNER JOIN Menghasilkan Ralat Sintaks?

Mengapa Pertanyaan KEMASKINI MySQL Saya dengan INNER JOIN Menghasilkan Ralat Sintaks?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-11 03:38:10900semak imbas

Why Does My MySQL UPDATE Query with INNER JOIN Produce a Syntax Error?

Kemas kini Pertanyaan Menggunakan Inner Join dengan MySQL: Menyelesaikan Masalah Ralat Sintaks

Anda menghadapi ralat sintaks semasa melaksanakan pertanyaan kemas kini MySQL berikut:

UPDATE b
SET b.mapx = g.latitude,
    b.mapy = g.longitude
FROM business AS b
INNER JOIN business_geocode g ON b.business_id = g.business_id
WHERE (b.mapx = '' OR b.mapx = 0) AND
      g.latitude > 0

Berikut ialah versi semakan pertanyaan anda yang sepatutnya menghapuskan ralat sintaks:

UPDATE business AS b
INNER JOIN business_geocode AS g ON b.business_id = g.business_id
SET b.mapx = g.latitude,
  b.mapy = g.longitude
WHERE (b.mapx = '' OR b.mapx = 0) AND
  g.latitude > 0

Penilaian

Pertanyaan asal mempunyai alias jadual yang tidak ditakrifkan dengan betul untuk jadual perniagaan; ia sepatutnya b dalam pertanyaan anda kerana anda ada di sana. Itulah satu-satunya isu sintaks.

Nota Tambahan

Mesej ralat anda tiada. Menyediakannya akan membantu menentukan punca sebenar isu itu. Selain itu, sahkan bahawa jenis medan dalam jadual anda (cth., mapx dan mapy) sepadan dengan data yang anda cuba masukkan.

Atas ialah kandungan terperinci Mengapa Pertanyaan KEMASKINI MySQL Saya dengan INNER JOIN Menghasilkan Ralat Sintaks?. 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