0

node.js を使用して、クライアントと対話し、クライアントから送信されたデータを mysql データベースに格納するための HTTP サーバーを作成しています。node-mysql モジュールを使用してデータベースとやり取りしています。以下は私のコードのスニペットです:

mysql_conn.query('INSERT INTO systems VALUES ( ? )', [system.ClientID,
    system.Application, system['System Information']], function(err, result) {
    if (err) {
        cb(err, res);
    } else {
        resData = {Status : 'Success'};
        cb(null, res, resData);
    }
});

結果のクエリは次のようになります。

INSERT INTO systems VALUES ( 'ED1758FD-1ED7-4907-A4FF-BCA41830124A' )

3 つの要素を持つ配列を渡していますが、クエリには 1 つしか表示されません。ドキュメントには次のように記載されています。

配列はリストに変換されます。たとえば、['a', 'b'] は 'a', 'b' に変換されます。

私は何か間違ったことをしていますか?私はjavascriptが初めてです。無知があればご容赦ください。

4

1 に答える 1

1

変数が 3 つある場合は、3 つあるはずです。つまり、SQL クエリはINSERT INTO systems VALUES ( ?, ?,? ) 次のようになります。順序が不明で、順序を指定したい場合は、クエリを次のように変更する必要があります。INSERT INTO systems(field1, field2, field3) VALUES ( ?, ?,? )ここで、フィールドは MySQL のテーブルの実際のフィールドです。

于 2013-01-17T08:56:14.870 に答える