Rumah >pangkalan data >tutorial mysql >Mengapa My MySQL UPDATE JOIN Query Menghasilkan Ralat Kompilasi?
Masalah MySQL dengan Kemas Kini Kueri Jadual Sertai
Dalam percubaan untuk mengemas kini jadual menggunakan pertanyaan gabungan MySQL, pengguna mengalami ralat kompilasi. Berikut ialah pertanyaan yang mereka gunakan:
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
Walaupun betul nama medannya, pertanyaan itu gagal disusun.
Penyelesaian:
Setelah menganalisis pertanyaan, didapati bahawa ralat boleh diselesaikan dengan meletakkan alias jadual sebelum nama lajur, seperti yang ditunjukkan di bawah:
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
Kemas kini:
Selepas pengguna mengesahkan bahawa pertanyaan masih menghasilkan ralat sintaks, jadual ujian telah dibuat untuk mengesahkan sintaks. Pertanyaan yang diubah suai telah diuji terhadap MySQL 5.5.8 dan tidak menghasilkan sebarang ralat sintaks, seperti yang dilihat di bawah:
mysql> 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; Query OK, 0 rows affected (0.00 sec) Rows matched: 0 Changed: 0 Warnings: 0
Atas ialah kandungan terperinci Mengapa My MySQL UPDATE JOIN Query Menghasilkan Ralat Kompilasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!