我在节点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";
}
});
答案 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}}
我不知道是否还有其他办法。