在nodejs中插入多个具有2列的行

时间:2017-02-02 07:00:04

标签: mysql node.js windows

我在节点js代码中有2个数组

create or replace function test_sp_get_user_detail
(u_id in varchar2)
return user_details%rowtype
as

l_user_record user_details%rowtype;
begin
select * into l_user_record from user_details
where user_id = u_id;
return(l_user_record);
end;

我在数据库表中有两列,即' Name'并且'哈希'我想只使用一个mysql语句同时在多行中插入名称和哈希值。

我尝试用一​​个数组做到这一点。它执行成功但不能使用2个数组。我该怎么办? 我为一个数组编写的Mysql插入查询如下所示:

$.ajax({
    url: base_url + "secure/secure_remove_file",
    type: 'POST', 
    cache: true,
    dataType: 'json', 
    data: { 'name': fileName },
    timeout: 120000,
    error: function() {
        alert('error while loading data');
    },
    success: function(pdata) {
        document.getElementById(id).style.display="none";
    }
});

1 个答案:

答案 0 :(得分:1)

您只需将hashes[["Name1", "hash1"], ...]映射到一个数组 - var sql = "INSERT IGNORE INTO lu(Name, hash) VALUES ?"; var names = ['Name1','Name2','Name3','Name4']; var hashes = ['hash1','hash2','hash3','hash4']; var toOneArray = function(names, hashes) { return names.map(function(name, i) { return [name, hashes[i]] }); } con.query(sql, [toOneArray(names, hashes)], function(err, result) { if (err) { con.rollback(function(){ throw err; }); } }); ,然后插入一个嵌套的元素数组。

{{1}}

我不知道是否还有其他办法。