MySQL erreur d'insertion : ER_BAD_FIELD_ERROR: Unknown column '2525' in 'field list'
var convID = 2525;
var contactUsername = 'blabla';
var userId = 100;
var contactId = 200;
var sql = "INSERT INTO contacts (FK_OWNERID, FK_USERID, FC_CONTACTNAME, `CONVERSATION_ID`)
VALUES (" + mysql.escape(userId) + "," + mysql.escape(contactId) + "," + mysql.escape(contactUsername) + "," + convID + "),
(" + mysql.escape(contactId) + "," + mysql.escape(userId) + "," + mysql.escape(username) + "," + convID + ")";
`Erreur: ER_BAD_FIELD_ERROR: Unknown column '2525' in 'field list'
Les champs sont de type varchar(32) pour les deux CONVERSATION_ID et FC_CONTACTNAME et ints pour les 2 autres.
Quel est le problème avec cette requête? J'ai même mis les backticks autour de CONVERSATION_ID
et qu'il pense que le convID
variable est une colonne...
Edit:
Si ma requête est juste que, puis il travaille:
var sql = "INSERT INTO contacts (`FK_OWNERID`, `FK_USERID`, `FC_CONTACTNAME`)
VALUES (" + mysql.escape(userId) + "," + mysql.escape(contactId) + "," + mysql.escape(contactUsername) + "),
(" + mysql.escape(contactId) + "," + mysql.escape(userId) + "," + mysql.escape(username) + ")";
Qu'est-ce que la structure de la table (déposé types, la durée, les touches)?
OriginalL'auteur Dan P. | 2014-04-11
Vous devez vous connecter pour publier un commentaire.
faire
à
Plus susceptibles de ses une chaîne de caractères et le type de données est de type varchar si u besoin de l'enfermer dans une seule citation.
OriginalL'auteur Abhik Chakraborty
J'ai récemment rencontré un problème similaire, tout en essayant de passer un paramètre dans une chaîne de caractères dans Node JS.
En fin de compte, j'ai été en mesure d'obtenir une dynamique d'insertion dans ma base de données MySQL à l'aide de cette ligne :
insertIntoNodeDirectory( '2', '"' + testMacAddress[0] + '"', '1');
Ce serait entrer la valeur de l'entier 2, la chaîne de la valeur contenue dans la testMacAddress tableau à l'indice 0, et la valeur de l'entier 1.
Si j'ai utilisé cette ligne:
insertIntoNodeDirectory( '2', '" + testMacAddress[0] + "', '1');
sans l'ajout des guillemets simples autour de testMacAddress, la valeur insérée dans la base de données a été la chaîne de caractères " testMacAddress[0]'. Pas ce que je voulais.
OriginalL'auteur Henri De Boever
J'ai eu un problème similaire moi-même, je n'ai pas tous mes noms de colonne spécifié correctement. voici le code qui a finalement fonctionné.
OriginalL'auteur Brian Russell