THE ORB
Démarrage du studio

Colonne inconnue « x » dans « field list »

Un script cherche une information que la base n'a pas, presque toujours parce que son fichier d'installation n'a jamais été importé.

groupsCette fonctionnalité cesse de marcherpersonVous pouvez le corriger

Faites d'abord ceci

Trouvez le fichier .sql fourni avec ce script et importez-le dans votre base.

bug_reportCollez plutôt toute votre console

Ce que ça veut dire

La requête est du SQL valide mais nomme une colonne (ou une table) que la base n'a pas. Le schéma et le code ne sont pas d'accord.

Ce qui la provoque

Classé par fréquence : la cause la plus probable en premier.

  1. 1

    Le SQL de la ressource n'a jamais été importé

    Chaque script qui stocke des données livre un fichier .sql. L'oublier est la cause habituelle, surtout pour un script installé à la hâte.

  2. 2

    Le script attend le schéma d'un autre framework

    ESX utilise users/identifier, QBCore players/citizenid. Un script écrit pour l'un, exécuté contre l'autre, demande des colonnes qui n'existent pas.

  3. 3

    Une différence de version du framework

    ESX Legacy a déplacé plusieurs colonnes ; QBCore en a renommé certaines entre deux versions. La colonne existe dans la version pour laquelle le script a été écrit, pas dans la vôtre.

  4. 4

    Une faute de frappe, ou la mauvaise casse

    Sur MySQL sous Linux, les noms de colonnes sont sensibles à la casse selon la configuration.

  5. 5

    « Table doesn't exist »

    Le même problème un cran plus haut : le .sql n'a pas été importé du tout, ou l'a été dans une autre base que celle de la chaîne de connexion.

Comment savoir laquelle est la vôtre

SHOW COLUMNS FROM users;

Comparez à ce que demande la requête. Si c'est la table qui manque, vérifiez à quelle base vous êtes réellement connecté :

SELECT DATABASE();

Où regarder

Le fichier .sql livré avec la ressource, et le schéma du framework lui-même.

Comment la corriger

Importez le SQL de la ressource, puis vérifiez :

mysql -u user -p votrebase < ressource/install.sql

Ajoutez une colonne manquante sans toucher au reste :

ALTER TABLE users ADD COLUMN phone VARCHAR(20) NULL;

Toujours bloqué sur votre propre code ?

Cette page explique ce que cette erreur signifie en général. Collez votre console dans Server Fixer : il classera tout ce qui s'y trouve et vous dira quoi faire en premier ; et si vous préférez ne pas y toucher, ORBIE peut réparer le script et vous rendre la ressource prête à déposer.

bug_reportOuvrir le Server Fixer

Pour ce type d'erreur, le Script Optimizer repère les motifs de requête à l'origine de ceci.

Les erreurs qui voyagent avec celle-ci