2016-10-15 18 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

テーブル* users *のスキーマとは何ですか?それは自動生成されていない必須の列を持っていますか? my_sqlログファイルをチェックしますか? – blackpen

+0

私はスキーマを追加しました。しかし、私のスキーマが動作していないことに気がついたので、私はCREATE TABLEユーザ(ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT、name CHAR(25)、age INT(2));を使用して手作業で作成し、次に最初のデータ 'INSERT INTOユーザー(ID、名前、年齢)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

関連する問題