2017-08-17 1 views
-4

Ich versuche, alle "abc" in Spalte1 durch Leerzeichen zu ersetzen, aber diesen Fehler erhalten. Hilfe wird geschätzt!Was ist falsch an der Syntax in dieser MYSQL-Abfrage?

SELECT * 
REPLACE(column1, 'abc', '') 
FROM database.table; 
+2

Wenn Sie darauf bestehen, keine Backticks zu verwenden, nennen Sie nicht Ihre Tabelle 'Tabelle'. – Siguza

+0

Was war der Fehler? Ich kann mindestens drei Probleme mit der Abfrage sehen. Kein Komma nach *, keine Backticks auf der Datenbank, keine Backticks auf dem Tisch. –

+0

Vielen Dank !! Es war das "kein Komma nachher". Ich wusste nicht, dass du nach der Select-Anweisung Kommas schreiben musst. –

Antwort

0

Versuchen die folgenden:

UPDATE database.table SET column1 = replace (column1, 'abc', '');

+0

Dies setzt voraus, dass er die Daten in Spalte1 aktualisieren möchte, wo die Frage andeutet, dass er nur die Ausgabe der Auswahlabfrage ändern möchte. Die Verwendung dieser Syntax könnte seine Daten beschädigen, wenn dies nicht beabsichtigt war. – BusinessPlanQuickBuilder

1

Unter der Annahme, reservierte Wörter sind nur illustrativ, dann sollten ref folgende Arbeiten:

SELECT *, REPLACE(column1,'abc','') FROM database.table; 

Als @Sloan Thrasher beobachtet man ein Komma verpasst haben die Spalten zu trennen. Wenn die reservierten Wörter wirklich verwendet werden, müssen Sie sie in Backticks setzen oder Sie erhalten einen Syntaxfehler see SO discussion. So würde die Abfrage werden:

+1

Der Punkt kümmert sich um die reservierten Wörter – Strawberry

+0

@Strawberry, die Sinn macht. Ich kann nicht sagen, dass ich reservierte Wörter in meinem Schema verwenden würde, nur für den Fall. – BusinessPlanQuickBuilder

+0

Messe dos. Ich würde auch nicht ;-) – Strawberry