2016-10-15 2 views
0

Попытка вставить данные в mysql с 'INSERT INTO users SET ?', я получаю 500 ошибок в переднем конце. данные достигают сервера, но не могут вставляться в базу данных. Пробовал даже 'INSERT INTO users VALUES ?', но все еще терпит неудачу. Я могу получить данные из базы данных («SELECT * FROM users»), но не вставлять их.Невозможно вставить данные в mysql в узел

router.post('/userstuff', function(req, res, next) { 
var eachuser = { 
    name: req.body.name, 
    age: req.body.age 
}; 

    connection.query('INSERT INTO users SET ?',eachuser, function(err, rows){ 
     if(err) console.log('Error selecting: %s ', err); 
     console.log(rows) 
    }); 

}); 

изменения: добавлены схемы:

use 02sqldb; 

    CREATE TABLE IF NOT EXISTS users (
    id INT PRIMARY KEY AUTO_INCREMENT, 
    name VARCHAR(30), 
    age int(2) 
); 
+0

Какова схема для таблицы * пользователей *? У него есть обязательная колонка, которая не автогенерируется? Вы хотите проверить файлы журнала my_sql? – blackpen

+0

Я добавил схему. Но я заметил, что моя схема не работает, поэтому я создал ее вручную, используя 'CREATE TABLE users (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, имя CHAR (25), возраст INT (2));' затем вставил мои первые данные 'INSERT INTO пользователи (id, name, age) VALUES (NULL, 'John', '25'); ' – Deke

ответ

1

А что, если вы пытаетесь сделать первый фиктивный запрос. Я точно не знаю, вы можете просто поставить «?» для ввода значения без указания столбца, такого как

'INSERT INTO table_name (column1,column2,column3,...) 
VALUES ('?','?','?',...)' 

Если он все еще не работает, вы знаете, что это что-то еще.

+0

Его формат работает с node.js. Он поставляет запрос хешем (который имеет имена столбцов и соответствующие значения). – blackpen

+0

Я понял. очень глупая ошибка, я забыл включить код внутри 'req.getConnection (function (err, connection) {' – Deke