gpt4 book ai didi

mysql - 读取、显示并插入到另一个表中

转载 作者:行者123 更新时间:2023-11-29 22:46:40 25 4
gpt4 key购买 nike

我是 NodeJS 编程新手,创建了一个脚本,该脚本从具有 50K 记录的数据库表 nodetest 读取并显示在浏览器中,然后写入另一个名为 'nodetestcopy'

的表
var express = require('express');
var app = express();
var connection = require('express-myconnection');
var mysql = require('mysql');

var rows={};

var copyOfrows={
'id':null,
'f_name':null,
'l_name':null,
'title':null
};
var date1 = (new Date()).getTime();
app.use(
connection(mysql,{
host: 'localhost',
user: 'root',
password : '',
port : null, //port mysql
database:'test'
},'request')
);



app.get('/api/entries', function(req, res){
req.getConnection(function(err, connection) {
if(err) {
console.log(err);
res.status(500).send('Cannot get database connection');
} else {
connection.query("select * from nodetest", function(err, rows) {
if(err) {
console.log(err);
res.status(500).send(err);
} else {
res.write(''+JSON.stringify(rows));
var date2 = (new Date()).getTime();
console.log('Cnt : '+rows.length+' Took Time to execute :'+(date2 - date1)/(60*60));
//console.log(rows);
//Now insert in another table ' nodetestcopy'
for(var i in rows){
connection.query("insert into nodetestcopy set ?", rows[i], function(err, rows) {
if(err) {
console.log(err);
//res.status(500).send(err);
} else {

}
});
}

}
});
}
});
});

app.listen(3000);

该脚本第一次运行,当我第二次刷新浏览器时,出现错误。

请指导我这里出了什么问题,我的方法是否正确?循环记录 50K 次 for(var i in rows){ ...}

请给出一个可行的解决方案,如果代码错误,请纠正我。

谢谢

最佳答案

您收到的错误消息是什么?此外,避免使用多个查询访问数据库的另一种方法是将记录组合​​在一个查询中,然后进行一个数据库插入调用,例如:

var query = 'insert into nodetestcopy values("';
for (var i in rows) {
query += rows[i] + '"';
if (i < rows.length) query += ',';
}
query += ')';

connection.query(query, function(err, rows) { ...

关于mysql - 读取、显示并插入到另一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29070054/

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