gpt4 book ai didi

javascript - 使用nodejs和mysql进行抓取时如何避免插入数据库时​​的冗余

转载 作者:行者123 更新时间:2023-11-29 14:32:41 26 4
gpt4 key购买 nike

正在使用nodejs抓取和mysql开发一个。我想将详细信息存储到 mysql 数据库中。我已经编写了它成功保存的查询,如果我们再次运行脚本,它还会检查冗余。如果表中没有数据(空表),则不检查冗余。所有数据都保存到数据库中。

我编写的代码是为了避免冗余并插入到表中。

mysql.query(
'select id, name from ' + product_details + ' where name = "'+$name+'"',
function(err, result, fields) {
if (err) throw err;
else {
var i;
for (i in result) {
var product = result[i];
if(product.id>0){
}
}
if(i==undefined){
mysql.query('insert into '+ product_details +' (name) values ("' + $name + '")',
function selectCb(err, results, fields) {
if (err) throw err;
else {
console.log("inserted");
}
});
}
}
});

请帮我解决这个问题。我是 Nodejs 抓取的新手。请帮我。提前致谢。** 更新 **

谢谢用户1027167。我尝试了你的解决方案并解决了问题。但现在发生 mysql 错误,然后脚本执行停止,但我希望脚本通过省略(保留)要保存在数据库中的详细信息来继续执行。如何做到这一点,请帮助我

最佳答案

你必须像这样获取错误:

mysql.query('insert into '+ product_details +' (name) values ("' + $name + '")',
function errorhandler(err, results, fields) {
if (err)
{
console.log("name is not unique");
// do something else
}
}
});

所以你不应该扔它。

关于javascript - 使用nodejs和mysql进行抓取时如何避免插入数据库时​​的冗余,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9717600/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com