INSERTAR EN el error con mysql-nodo

Este parece que debería ser super fácil, y se me ha atascado cerca de dos horas ahora. Cuatro personas han mirado y no se ha encontrado un problema obvio. Así que de nuevo me dirijo a la comunidad.

Real simple – sólo estoy tratando de insertar datos en una base de datos mysql a través de mysql-nodo. Estoy recibiendo ningún error en la conexión y SELECCIONE funciona bien. El código utilizado es:

exports.postNewCast = function(data, res) {
  var query = "INSERT INTO cast (name, portrait, role, bio) VALUES ('" + data.name + "', '" + data.portrait + "', '" + data.role + "', '" + data.bio + "');";
  console.log(query);
  dbConnection.query(query, data, function(err, result) {
    if (err) {
      console.log(err);
    } else {
      sendResponse(res, "Cast Member Added", 201);
    }
  });
};

El error que se registra es:

{ [Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'cast (name, portrait, role, bio) VALUES ('Jessie', 'images/cast/marissa.jpg', 'L' at line 1]
  code: 'ER_PARSE_ERROR',
  errno: 1064,
  sqlState: '42000',
  index: 0 }

Lo más raro (para mi) es que puedo copiar desde mi ventana de terminal (donde se ejecuta el servidor) de la consola.sesión de la cadena de consulta, y pegarlo en la base de la línea de comandos, y funciona muy bien. He intentado utilizar la SUBVENCIÓN para asegurarse de que el usuario se está ejecutando el servidor tiene permisos, y este no hizo nada. He tratado de copiar /pegar INSERTAR EN la sintaxis de la recta a partir de fuentes de trabajo, y sólo la sustitución de mis datos específicos de los campos. He intentado usar los VALORES ? opción, seguido por un objeto de datos, y obtuvo el mismo resultado.

Entonces, ¿qué error estúpido estoy haciendo?

Gracias.

agregar ` en torno a nombre de la tabla, como `cast`
La parte de atrás de las garrapatas fueron. Pensé que significaba comillas simples, y no estaba funcionando. Pero de nuevo las garrapatas hizo.

OriginalEl autor DrHall | 2013-11-15

2 respuestas

  1. 9

    Ilya Bursov había que corregir, agregar esta respuesta para la posteridad. No estoy seguro de si “reparto” es una palabra reservada o qué, pero necesitaba comillas (” ` “) alrededor del nombre de la tabla para que funcione.

    OriginalEl autor DrHall

  2. 2

    Tratar de poner ` alrededor de cada nombre de columna como esta

    "INSERT INTO cast (`name`, `portrait`, `role`, `bio`) VALUES ('" + data.name + "', '" + data.portrait + "', '" + data.role + "', '" + data.bio + "');";

    OriginalEl autor Tom Irons

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *