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!