Ich erhalte immer wieder den MySQL-Fehler # 1054, wenn ich versuche, diese Update-Abfrage durchzuführen:
UPDATE MASTER_USER_PROFILE, TRAN_USER_BRANCH
SET MASTER_USER_PROFILE.fellow=`y`
WHERE MASTER_USER_PROFILE.USER_ID = TRAN_USER_BRANCH.USER_ID
AND TRAN_USER_BRANCH.BRANCH_ID = 17
Es ist wahrscheinlich ein Syntaxfehler, aber ich habe versucht, stattdessen einen inneren Join und andere Änderungen zu verwenden, aber ich erhalte immer die gleiche Meldung:
Unknown column 'y' in 'field list'
mysql
sql
mysql-error-1054
ich hier
quelle
quelle
Fügen Sie alle Zeichenfolgen, die an den MySQL-Server übergeben werden sollen, in einfache Anführungszeichen ein. z.B:
Beachten Sie, dass die Abfrage zwar in doppelte Anführungszeichen eingeschlossen ist, Sie jedoch jede Zeichenfolge in einfache Anführungszeichen setzen müssen.
quelle
SHA1('$var')
$name = mysqli_real_escape_string($name)
, um Anführungszeichen richtig zu entkommen!Sie können Ihre Auswahl an Anführungszeichen überprüfen (verwenden Sie doppelte / einfache Anführungszeichen für Werte, Zeichenfolgen usw. und Backticks für Spaltennamen).
Da Sie nur die Tabelle aktualisieren möchten,
master_user_profile
würde ich eine verschachtelte Abfrage empfehlen:quelle
In meinem Fall wurde dies durch ein unsichtbares Leerzeichen am Ende des Spaltennamens verursacht. Überprüfen Sie einfach, ob Sie stattdessen wirklich "y" oder "y" verwenden.
quelle
Während ich zuerst an einer .NET-App arbeitete, die mit EF-Code erstellt wurde, wurde diese Fehlermeldung angezeigt, als ich versuchte, meine Migration dort anzuwenden, wo ich eine
Sql("UPDATE tableName SET columnName = value");
Anweisung hatte.Es stellte sich heraus, dass ich den Spaltennamen falsch geschrieben habe.
quelle
Ich teile nur meine Erfahrungen dazu. Ich hatte das gleiche Problem. Die Anweisung zum Einfügen oder Aktualisieren ist korrekt. Und ich habe auch die Kodierung überprüft. Die Spalte existiert. Dann! Ich fand heraus, dass ich auf die Spalte in meinem Trigger verwies. Sie sollten auch Ihren Trigger überprüfen, um festzustellen, ob ein Skript auf die Spalte verweist, mit der Sie das Problem haben.
quelle
Ich teile nur meine Erfahrungen dazu. Ich hatte das gleiche Problem. Meine Anfrage war wie:
Tabelle1 hatte jedoch keine Spalte2 Spalte.
quelle
Ich habe auch den gleichen Fehler erhalten. Das Problem in meinem Fall ist, dass ich den Spaltennamen in die
GROUP BY
Klausel aufgenommen habe und dieser Fehler verursacht wurde. Also die Spalte aus derGROUP BY
Klausel entfernt und es hat funktioniert !!!quelle
Wenn es Ruhezustand und JPA ist. Überprüfen Sie, ob der Name Ihrer referenzierten Tabelle und die Spalten möglicherweise nicht übereinstimmen
quelle
Ich habe diesen Fehler erhalten, wenn ich GroupBy über LINQ in einer MySQL-Datenbank verwendet habe. Das Problem bestand darin, dass die von GroupBy verwendete anonyme Objekteigenschaft nicht mit dem Namen der Datenbankspalte übereinstimmte. Behoben durch Umbenennen des anonymen Eigenschaftsnamens entsprechend dem Spaltennamen.
quelle
Eine solche Abfrage verursacht auch den Fehler:
Wo die Tabelle in der Spalte select angegeben ist und nicht in der from-Klausel enthalten ist.
quelle