2016-05-02 15 views
0

Ich versuche, Benutzerinformationen (Telefonnummer) zu aktualisieren, aber mysql zeigt Syntaxfehler. HierMysql Update Query werfen Syntaxfehler

ist die Abfrage zum Anzeigen aller Daten (Telefonnummer)

select distinct a.phone 
from users u 
join updated_phone a on a.phone like concat(u.phone_no, '%') 
where u.phone_no like '88%' 

Diese Abfrage funktioniert gut. Hier

ist die Abfrage für die Aktualisierung Telefonnummer in Tabelle users

UPDATE u 
SET u.phone_no=a.phone 
FROM  updated_phone as a 
JOIN  users as u 
     on a.phone like concat(u.phone_no, '%') 
     where u.phone_no like '88%' 

Aber dieses Update-Abfrage werfen Fehler in Syntax bei FROM und nicht die Werte zu aktualisieren. Wie löst man diesen Syntaxfehler und aktualisiert Informationen?

Antwort

1

Sie sollten nicht von in-Update verwenden, da die Aktualisierung Tabelle bereits in UPDATE-Klausel definieren,

UPDATE users as u 
JOIN updated_phone as a on a.phone like 'u.phone_no%' 
SET u.phone_no= a.phone 
where u.phone_no like '88%' 
+0

es versucht, aber werfen Syntaxfehler in der Nähe von updated_phone JOIN .. – shuvrow

+0

ich aktualisieren die Antwort .. mit beitreten vor gesetzt und ich habe auch die gleiche concat geändert – scaisEdge

+0

Ich habe es versucht, Abfrage ausgeführt, aber nicht aktualisiert Werte. Zum besseren Verständnis meine Frage bezieht sich auf diesen Beitrag http://stackoverflow.com/questions/36953942/how-to-use-regexp-on-the-results-of-a-sub-query – shuvrow