“L'inconnue de la colonne dans la "liste de champs" de”, mais la colonne n'existe pas
DROP TABLE IF EXISTS `transactions`;
CREATE TABLE `transactions` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`purchase_date` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `transactions` (`purchase_date`) VALUES (NULL)
J'ai isolé mon problème dans ce code. Quand je le lance, j'obtiens l'erreur:
[ERREUR dans la requête 3] Unknown column 'purchase_date' in 'field list'
Quelqu'un à une idée?
OriginalL'auteur Rits | 2013-04-13
Vous devez vous connecter pour publier un commentaire.
Il y a un caractère non imprimable 30 (RecordSeparator) inséré entre
purchase_date
et la'
dans leINSERT
déclaration. Il suffit de retirer le texte('purchase_date')
et de le réécrire à la main, elle doit être fine.comment avez-vous eu ça il y a un caractère non imprimable ??
Simplement dus au hasard. Cliquez sur modifier, copier le SQL et le coller dans un éditeur de texte qui montre non-imprimable.
C'est généralement un espace arrière
OriginalL'auteur whetstone
Je viens de passer la meilleure partie de la journée en pensant cela. Mon problème était le même: des caractères invisibles kiboshing la requête et le retour de "l'inconnu de la colonne" erreur.
Je l'ai résolu en marchant en arrière dans Windows et la suppression de la poubelle à l'aide de NotePad++.
Comment la poubelle, vas-y en premier lieu? Je pense que c'est parce que j'ai fait l'erreur de copier certaines requêtes complexes dans LibreOffice Writer (mon spécifications fonctionnelles document) au lieu de bookmarking dans phpMyAdmin ou de les enregistrer dans un éditeur de texte. - Coller à partir de LibreOffice dans la fenêtre de requête est par là (je pense) la poubelle à l'origine.
Une fois là, il a persisté, comme le Paludisme. Je ne pouvais même pas se débarrasser de lui par la main de retaper toute la requête: j'ai dû le mettre dans NotePad++ (menu Encodage) et de montrer l'ANSI et de l'UTF8 combos, puis retirez la poubelle à la main.
Une fois que ce fut fait, la requête a fonctionné.
OriginalL'auteur prokaryote
Cela peut aussi arriver si vous collez un nom de colonne lors de la construction de la structure de la table. Même erreur, mais la non imprimable/caractères invisibles sont dans la structure de la table, pas la requête.
OriginalL'auteur designgroop
Nery solution de niche quand j'ai eu cette erreur.
J'ai eu un
BEFORE INSERT
de déclenchement sur ma table, qui fait quelque chose avec
et si je ne passais pas que le terrain à une instruction insert puis, je meNEW.`field_mysql_doesnt_think_exists`
[ERROR in query 3] Unknown column 'field_mysql_doesnt_think_exists' in 'field list'
OriginalL'auteur Lewis
Cela pourrait ne pas aider quelqu'un d'autre, mais l'ajout de ce "au cas où" il aide quelqu'un.
Dans ma situation, c'était une autre solution.
- Je recevoir de grands ensembles de données Excel des fichiers CSV et l'utilisation d'un (WIL) script pour convertir les .fichier csv dans un importables .fichier sql. J'avais une erreur dans mon script dans lequel de ces deux lignes ne faisait pas référence à la même nom de la table (j'avais codé en dur, le premier endroit que vous avez oublié de le mettre à jour):
Je viens de modifier la première ligne pour obtenir le nom de la table à partir de la variable, et le tour est joué!
Afin de vérifier ces deux lignes dans votre importation de fichier SQL.
OriginalL'auteur gibberish
Même erreur dans un autre scénario:
Cela se produit également lorsque vous manquez symbole @ pour une variable.
OriginalL'auteur Manohar Reddy Poreddy