THE ORB
Uruchamiam studio

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.

groupsTa funkcja przestaje działaćpersonMożesz to naprawić

Zrób najpierw to

Znajdź plik .sql dołączony do tego skryptu i zaimportuj go do swojej bazy.

bug_reportWklej zamiast tego całą konsolę

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. 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. 2

    Skrypt oczekuje schematu innego frameworka

    ESX używa users/identifier, QBCore używa players/citizenid. Skrypt napisany pod jeden, uruchomiony na drugim, prosi o kolumny, których nie ma.

  3. 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. 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. 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 Fixer

Dla tego rodzaju błędu Script Optimizer wyłapuje wzorce zapytań, które to powodują.

Błędy, które chodzą z tym w parze