Articles of sql insert

在MySQL + Node.JS中使用INSERT语句的最有效的方法

我试图批量插入很多行到我的MySQL数据库使用Node.JS. 我试图find最好,最有CPU的方法。 这是我的要求: 必须能够插入IGNORE INTO 必须能够插入三到三千行的任何地方。 我不知道行数,但它会在一个variables 需要CPU效率 我已经看到StackOverflow上的其他人说,查询应该看起来像这样: INSERT IGNORE INTO tableName (col1, col2, col3) VALUES (?, ?, ?), (?, ?, ?), etc… 这个问题是我会插入一些未知的行。 所以问题是,如何以最大的方式批量插入我所需要的,同时又能像CPU一样友好呢?

使用node.js将数据插入到mysql中,但脚本挂起

我有这个脚本来读取文件,然后将数据插入到MySQL表中。 该脚本的作品,但它挂起,所以我不得不按CTRL-C停止脚本。 但脚本应该正常停止,我必须改变什么? var fs = require('fs'); var filename; var myGID; filename = "data/insertUser1_next.json"; function get_line(filename, line_no, callback) { fs.readFile(filename, function (err, data) { if (err) throw err; // Data is a buffer that we need to convert to a string // Improvement: loop over the buffer and stop when the line is reached var […]

如何知道MySql的条件INSERT是否工作?

使用条件插入,我想知道是否插入一行或者是否发现重叠。 我有一个查询插入一个请求到数据库,如果它不与任何现有的条目重叠。 查询工作,但我怎么知道是否有碰撞? 查询只是成功执行。 这是我的查询: INSERT INTO requests(id, start_time, end_time) SELECT NULL, 1463631640671,1463636731000, FROM Dual WHERE NOT EXISTS ( SELECT * FROM requests WHERE start_time < 1463638531000 AND end_time > 1463636731000 ) 供你参考。 我正在使用mysql包在Node.js中进行此操作。 代码看起来像这样,每次都返回“SUCCESS”。 var queryString = "INSERT INTO requests(id, start_time, end_time…" connection.query(queryString, function(error, results, fields) { if (!error) { console.log('SUCCESS!'); } else { […]

如何将loggingdynamic插入nodejs中相互连接的两个表中

这可能是一个非常简单的问题,虽然花了很长时间,仍然没有弄明白。 我需要postgresql中的两个表,并在我的nodejs应用程序中dynamic更新。 table1有两列(obj_id,obj_name),table2有更多的列,同时包含一列作为“obj_id”作为“fk”引用table1的“obj_id”; 我试图在table1中插入一条logging,然后做一些处理,并将相应的logging插入到table2中。 我需要从第一个插入返回的“obj_id”值,并与其他值一起使用做第二次插入。 我试图用下面的代码来做到这一点,而它总是抛出错误说( 插入或更新表“table2”违反外键约束“rel_table2_table1” )。 function uploadTable1(name,callback){ const client = new pg.Client(conString); client.connect(); client.on("drain", function () { client.end(); }); let insertTable1 = client.query(`INSERT INTO table1 (obj_name) VALUES ($1) RETURNING obj_id`, [name]); insertTable1.on("row", function (row,result) { callback(row.obj_id); }); } function uploadTable2(kk,ff) { return function (obj_id) { const client = new pg.Client(conString); client.connect(); client.on("drain", […]

Node.js,多个MySQL插入

我想在我的服务器客户端应用程序的specefic ordner中做多个MySQL插入。 var con = createDatabaseConnection(); function createDatabaseConnection() { return (mysql.createConnection({ host: // hostIp, user: // user, password: //pw, database: //databasename }); } function writeFoo(fooObject) { var sql = // prepare sql insert for fooObject; con.query(sql, function (err) { // ? Is inserted data ready to use ? } }); function writeBar(barObject) { var sql […]

优化nodejs mysql插入

我一直在为mongodb到mysql转换工作的ETL工具,这是在github这里主持mongodb到mysql的转换 。 目前在mongodb文档转换之后,插入查询被发送执行,但是插入速度最大为每秒600次插入。 在nodejs的mysql中插入query / sec是否有限制? 如果是的话再怎么增加呢? 否则有没有这个限制的框架? 整个转换的代码是在主转换代码 。 创build用于插入查询的数组是有限制的,因为所有文档都可以包含不同的键,这将在查询列名中产生差异。

INSERT INTO与node-mysql失败 – variables始终为NULL

我正在使用MySql和node.js 我有这个查询,它不起作用,MySQL中的temp1是一致的NULL: var queryTemp1 = { tid: '1', temp: temp1, timestamp: myDate }; con.query('INSERT INTO temps SET ?', queryTemp1, function(err,res){ if(err) throw err; console.log('Last insert ID:', res.insertId); }); temp1是浮动我想 – 我可以打印它,一切都OK: var temp1 = parseFloat(stdout); var temp1 = temp1/1000 var temp1 = (temp1.toFixed(2)); 我的桌子有一列: +———–+————-+——+—–+———+——-+ | Field | Type | Null | Key | Default […]

如何提高PostgreSQL在INSERT上的性能?

我写了一个Node.js应用程序,它将大量logging写入PostgreSQL 9.6数据库。 不幸的是,这感觉很慢。 为了能够testing一些东西,我创build了一个简短但完整的程序来重现场景: 'use strict'; const async = require('async'), pg = require('pg'), uuid = require('uuidv4'); const pool = new pg.Pool({ protocol: 'pg', user: 'golo', host: 'localhost', port: 5432, database: 'golo' }); const records = []; for (let i = 0; i < 10000; i++) { records.push({ id: uuid(), revision: i, data: { foo: 'bar', […]

如果行存在则返回id,否则返回INSERT

我在node.js中写一个函数来查询一个PostgreSQL表。 如果该行存在,我想返回行中的id列。 如果它不存在,我想插入它并返回id( insert into … returning id )。 我一直在尝试变种的case , if else语句,似乎无法得到它的工作。

INSERT INTO失败,使用node-mysql

我正在尝试用node.js插入一些数据。 我已经写了下面的代码,并通过npm安装了MySQL支持,但是我没有把表INSERT INTO到表中。 这是我的代码: var mysql = require('mysql'); function BD() { var connection = mysql.createConnection({ user: 'root', password: '', host: 'localhost', port: 3306, database: 'nodejs' }); return connection; } app.post("/user/create", function(req, res) { var objBD = BD(); var post = { username: req.body.username, password: req.body.password }; objBD.query('INSERT INTO users VALUES ?', post, function(error) { if […]