Articles of mysql

MySQL非常大的INSERT … SELECT或SELECT级别的批处理,然后是INSERTS

如果我有大量的数据要处理(需要一个SELECT),然后插入到另一个表(INSERT)中,哪个更好? 一个长的INSERT … SELECT语句,或潜在的存储过程 OR应用程序级别SELECT第一个进程创build批次的INSERT INTO table () VALUES (), (), … INSERT … SELECT挂起服务器吗? 或者可能用完内存? 假设SELECT结果在一个大型的数据集中有一百万条logging(但是只有很less的数据,~2列,ID列,所以它是一个INT) 更新:应用程序正在使用NodeJS

NodeJS – 连接到本地的Mysql数据库

我正在尝试为我的节点应用程序创build一个mysql数据库连接,并运行sequelize.authenticate().then(function(errors) { console.log(errors) }); testing连接是否正常工作。 logging到我的控制台的响应是Executing (default): SELECT 1+1 AS result undefined undefined部分让我觉得连接要么不工作,要么没有find任何数据库。 我似乎无法弄清楚。 我想通过Sequel Pro创build一个数据库并通过Socket连接到localhost ,我可以使用相同的凭证来连接我的Node应用程序。 我是否需要在数据库的应用程序中创build文件,而不是使用Sequel Pro数据库? 控制器文件(创build连接的位置): var Sequelize = require('sequelize'); var sequelize = new Sequelize('synotate', 'root', '', { host:'localhost', port:'3306', dialect: 'mysql' }); sequelize.authenticate().then(function(errors) { console.log(errors) }); var db = {} db.Annotation = sequelize.import(__dirname + "/ann-model"); db.sequelize = sequelize; db.Sequelize = […]

如何使用node-mysql中的数组进行更新

我正在使用nodejs-mysql,试图一次更新一堆行。 所以,我已经尝试了下面的代码,很幸运: var sql = "UPDATE users SET Gender=?, Super=? WHERE Name=?"; var valueArray = []; for (var idx = 0; idx < data.length; idx++) { var char = data[idx]; valueArray.push([char[4], char[5], char[1]]); } connection.query(sql, [valueArray], function(err, rows) { }); 我插入时做类似的语法(与数组),并且工作正常。 那么这样做有什么问题呢? 当我执行这个,我得到一个语法错误:( 我应该以其他方式做这个吗?

使用node-mysql的节点承诺不会让应用程序终止

我使用Node Promise(本地实现)来链接MySQL查询。 我为MySQL连接使用node-mysql库。 var mysql = require('mysql'); var db = mysql.createPool({ host: 'localhost', user: 'root', password: 'root', database: 'database' }); 该function非常简单,并返回一个Promise: function query(sql, repl) { return new Promise(function(resolve, reject) { db.getConnection(function(err, connection) { if (err) reject(err); else { connection.query(sql, repl, function(err, rows) { connection.release(); if (err) reject(err); else resolve(rows); }); } }); }); } 但是,当我运行它,应用程序永远不会终止。 […]

mySQL自动增加10(ClearDB&Node)

我在ClearDB中有一个简单的表格: CREATE TABLE `users` ( `id` smallint(6) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(100) DEFAULT NULL, `message` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=INNODB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; 我正在使用Node通过以下方式将数据插入到表中: var post = {username: response.user.name, message: message.text}; connection.query("INSERT INTO users SET ?", post, function(err, rows, fields) { if (err) { console.log('error: ', err); throw err; } }); […]

从NodeJS的AJAX请求中获取数据并存储在数据库中

我有一个在NodeJS中从客户端获取数据的问题。 在客户端,我准备了JSON数据,就像你在codepen中看到的一样 在服务器端,我试图从客户端获取这些数据: var express = require('express'); var mysql = require('mysql'); var app = express(); app.use('/', express.static('../client/app')); app.use('/bower_components', express.static('../client/bower_components/')); var server = require('http').createServer(app); var bodyParser = require('body-parser'); app.jsonParser = bodyParser.json(); app.urlencodedParser = bodyParser.urlencoded({ extended: true }); //mysql connection setup var connection = mysql.createConnection({ host : "localhost", port: "3306", user : "root", password : "", database […]

使用node.js在MySQL中插入两个依赖表

我是MySQL和node.js(以及callback)的新手。 我尝试将数据插入到表B中,这取决于表A中的数据。下面是一个示例。 员工表(表A): CREATE TABLE employees ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(50), location varchar(50), PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; 年龄表(表B,故意在表A中不包括年龄栏): CREATE TABLE age ( id int(11) NOT NULL AUTO_INCREMENT, index_id int(11), age int(50), PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; 问题是 : 对于插入表A的每一行,我都可以得到它的ID。 我想使用id作为表B中的index_id,并将相应的年龄信息插入到年龄表B.当我有多行插入时会出现问题。 例子 : 我实现以下function来实现上述目标。 […]

尝试使用路由中的函数从MySql返回一行,并不会得到响应

所以我试图使用一个函数,从我的路线里面的mySql数据库返回一行: .get('/users', function (req, res){ res.send(userInfo(req.user.id)); }) 这是function: function userInfo(id){ colDB.query('SELECT username FROM users WHERE id = ?', [id], function(err, rows){ if (err) return {Error: defErrorMsg}; else return rows; })} 我是相当新的节点,我不明白为什么不工作。 请帮忙 :(

单个的redis客户端连接是否支持并发读写?

我对redis很陌生,这一直让我好奇。 我在每个文件中包含的nodejs(npm的redis包)中使用单个redis客户端连接。 比如说:文件a.js用于读取mysql并将数据插入到redis散列中,文件b.js从redis散列中读取并输出结果。 现在在生产环境中,我有大量的请求来服务于内容的b.js文件,并且在我之间有一些对a.js文件的请求来dynamic地更新内容。 我想知道对a.js的请求是否会减慢b.js中已经运行的redis连接。

用js上传文件并在数据库中存储表单信息(mysql)

我正在build立一个网站,用户需要填写信息的名字,姓氏,个人资料图片,数字等等…我已经编码的forms,我正在寻找一种方式与节点js上传图像在一个特定的目录(或一个默认的目录),并存储用户填入我的数据库的信息。 我使用节点js和Express与MySQL。 更新: (我使用了强大的包和util包)。 请注意,对于图像部分,我只需要path(您将在输出部分看到它)。 表格代码: <form method="post" action="upload" enctype="multipart/form-data"> <fieldset> <input type="file" accept="image/*" name="image" required /><br/> <label for="Prenom">Prénom: </label> <input type="text" name="user_prenom" id="Prenom" required /><br/> <label for="Nom">Nom: </label> <input type="text" name="user_nom" id="Nom" required /><br/> <label for="Mail">E-Mail: </label> <input type="email" name="user_mail" id="Mail" required/><br/> <label for="Pays">Pays: </label> <input type="text" name="user_pays" id="Pays" required/><br/> <label for="Ville">Ville: </label> <input […]