mysql update ERROR 1054 : Unknown column 'x' in 'field list'
Ich versuche zu aktualisieren, mysql Tabelle und erhielt den FEHLER 1054 und nach, dass etwas seltsames passiert.
Tabelle schema
CREATE TABLE `useraccount` (
`userId` bigint(20) NOT NULL,
`currentBalance` float NOT NULL,
`currentDataBalance` bigint(20) NOT NULL,
PRIMARY KEY (`userId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Hatte ich einen Eintrag in meiner Tabelle, d.h.
mysql> select * from UserAccount;
+--------+----------------+--------------------+
| userId | currentBalance | currentDataBalance |
+--------+----------------+--------------------+
| 1 | 0 | 4296 |
+--------+----------------+--------------------+
Habe ich versucht zu aktualisieren currentDataBalance
Feld und habe den Fehler
ERROR 1054 (42S22): Unknown column '253600l' in 'field list'
mysql> update UserAccount set currentDataBalance=253600l where userId=1;
ERROR 1054 (42S22): Unknown column '253600l' in 'field list'
Dann ich entfernt die Letzte Ziffer der update Wert (aus 253600l zu 253600) und mit dem Wert aktualisiert,
mysql> update UserAccount set currentDataBalance=253600 where userId=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
Dann wieder änderte ich den Wert zum vorherigen (aus 253600 zu 2536001) und mit dem Wert aktualisiert wurde, dieser Zeit.
mysql> update UserAccount set currentDataBalance=2536001 where userId=1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
Gehe ich durch viele posts auf stackoverflow, die mit Fehler 1054, aber ich habe nicht bekommen relevante Antwort.
InformationsquelleAutor ankit.vishen | 2017-07-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Abfrage
gibt diesen Fehler zurück :
weil Sie einen Brief in Ihrer "Anzahl" : 253600l, die sich Ihre Zahl in einen string.Da dieser string ist nicht umgeben Sie mit Anführungszeichen, MySQL vorausgesetzt, dass Sie den Namen eines Objekts in der Datenbank eine Spalte in diesem Fall.
Das Objekt nicht existiert, so ist dieser spezifische Fehler.
InformationsquelleAutor Thomas G
Haben Sie kleine lateinische Zeichen "L" statt der Ziffer "1" in Ihrem update-Abfrage. Als Wert, den Sie festlegen möchten, sieht aus wie ein Bezeichner in MySQL, es wird versucht die lookup-Spalte mit dem Namen, und kann ihn nicht finden, das ist, warum Sie immer diese Fehlermeldung.
InformationsquelleAutor bakatrouble