Rumah > pangkalan data > tutorial mysql > Mengapa My MySQL UPDATE JOIN Query Menghasilkan Ralat Kompilasi?

Mengapa My MySQL UPDATE JOIN Query Menghasilkan Ralat Kompilasi?

DDD
Lepaskan: 2024-12-07 09:29:16
asal
790 orang telah melayarinya

Why Does My MySQL UPDATE JOIN Query Produce a Compile Error?

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan