Unknown column 'x' in 'field list'
Skrypt szuka informacji, której baza nie ma — prawie zawsze dlatego, że jego plik instalacyjny nigdy nie został zaimportowany.
Zrób najpierw to
Znajdź plik .sql dołączony do tego skryptu i zaimportuj go do swojej bazy.
Co to znaczy
Zapytanie jest poprawnym SQL-em, ale nazywa kolumnę (albo tabelę), której baza nie ma. Schemat i kod się nie zgadzają.
Co to powoduje
Uszeregowane według tego, jak często są odpowiedzią.
- 1
SQL zasobu nigdy nie został zaimportowany
Każdy skrypt, który przechowuje dane, przychodzi z plikiem .sql. Pominięcie go to zwykła przyczyna, zwłaszcza przy skrypcie instalowanym w pośpiechu.
- 2
Skrypt oczekuje schematu innego frameworka
ESX używa
users/identifier, QBCore używaplayers/citizenid. Skrypt napisany pod jeden, uruchomiony na drugim, prosi o kolumny, których nie ma. - 3
Różnica wersji frameworka
ESX Legacy przeniósł kilka kolumn; QBCore zmienił nazwy części między wydaniami. Kolumna istnieje w wersji, pod którą pisano skrypt, a nie w twojej.
- 4
Literówka albo zła wielkość liter
Na MySQL-u pod Linuksem nazwy kolumn bywają wrażliwe na wielkość liter, zależnie od konfiguracji.
- 5
`Table doesn't exist`
Ten sam problem piętro wyżej: .sql w ogóle nie został zaimportowany albo trafił do innej bazy niż ta z connection stringa.
Jak poznać, który jest twój
SHOW COLUMNS FROM users;
Porównaj z tym, o co prosi zapytanie. Jeśli brakuje samej tabeli, sprawdź, z którą bazą jesteś naprawdę połączony:
SELECT DATABASE();
Gdzie szukać
Plik .sql, który przyszedł z zasobem, i własny schemat frameworka.
Jak to naprawić
Zaimportuj SQL zasobu, potem zweryfikuj:
mysql -u user -p twojabaza < zasob/install.sql
Dodaj brakującą kolumnę, nie ruszając reszty:
ALTER TABLE users ADD COLUMN phone VARCHAR(20) NULL;
Wciąż utknąłeś na własnym kodzie?
Ta strona mówi, co ten błąd zwykle oznacza. Wklej swoją konsolę do Server Fixera, a uszereguje wszystko, co w niej jest, i powie, co zrobić najpierw; a jeśli wolisz tego nie ruszać, ORBIE naprawi skrypt i odda ci zasób gotowy do wrzucenia.
bug_reportOtwórz Server FixerDla tego rodzaju błędu Script Optimizer wyłapuje wzorce zapytań, które to powodują.