Unbekannte Spalte 'x' in 'field list'
Ein Script sucht Informationen, die die Datenbank nicht hat — fast immer, weil seine Setup-Datei nie importiert wurde.
Mach das zuerst
Such die .sql-Datei, die mit dem Script kam, und importier sie in deine Datenbank.
Was es bedeutet
Die Abfrage ist gültiges SQL, nennt aber eine Spalte (oder Tabelle), die die Datenbank nicht hat. Schema und Code widersprechen sich.
Was es auslöst
Sortiert danach, wie oft es die Antwort ist.
- 1
Das SQL der Resource wurde nie importiert
Jedes Script, das Daten speichert, bringt eine .sql-Datei mit. Sie zu überspringen ist die übliche Ursache, besonders bei einem hastig installierten Script.
- 2
Das Script erwartet das Schema eines anderen Frameworks
ESX nutzt
users/identifier, QBCoreplayers/citizenid. Ein für das eine geschriebenes Script verlangt gegen das andere Spalten, die es nicht gibt. - 3
Ein Versionsunterschied beim Framework
ESX Legacy hat mehrere Spalten verschoben; QBCore hat zwischen Releases welche umbenannt. Die Spalte gibt es in der Version, für die das Script geschrieben wurde, nicht in deiner.
- 4
Ein Tippfehler oder die falsche Schreibweise
Bei MySQL unter Linux unterscheiden Spaltennamen je nach Konfiguration Groß- und Kleinschreibung.
- 5
„Table doesn't exist"
Dasselbe Problem eine Ebene höher: Das .sql wurde gar nicht importiert oder in eine andere Datenbank als die im Verbindungsstring.
Wie du erkennst, welcher deiner ist
SHOW COLUMNS FROM users;
Vergleich mit dem, was die Abfrage verlangt. Fehlt die Tabelle selbst, prüf, mit welcher Datenbank du tatsächlich verbunden bist:
SELECT DATABASE();
Wo du nachsehen musst
Die .sql-Datei der Resource und das Schema des Frameworks selbst.
Wie du es behebst
Importier das SQL der Resource und prüf es dann:
mysql -u user -p deinedatenbank < resource/install.sql
Füg eine fehlende Spalte hinzu, ohne den Rest anzufassen:
ALTER TABLE users ADD COLUMN phone VARCHAR(20) NULL;
Hängst du immer noch an deinem eigenen Code?
Diese Seite sagt, was dieser Fehler üblicherweise bedeutet. Füg deine Konsole in Server Fixer ein: es sortiert alles darin und sagt dir, was zuerst dran ist; und wenn du lieber nicht ranwillst, kann ORBIE das Script reparieren und dir die Resource fertig zum Einsetzen zurückgeben.
bug_reportServer Fixer öffnenFür diese Art Fehler Script Optimizer erkennt die Abfragemuster, die das verursachen.