Tag: node mysql

何时使用? 和? 作为node-mysql中用于构build查询的占位符?

我正在看node-mysql https://github.com/felixge/node-mysql中的一些例子 我很困惑什么时候用? 和? 作为构build查询的占位符。 这里就是一个例子。 var userId = 1; var columns = ['username', 'email']; var query = connection.query('SELECT ?? FROM ?? WHERE id = ?', [columns, 'users', userId], function(err, results) { // … }); console.log(query.sql); // SELECT `username`, `email` FROM `users` WHERE id = 1 我怎么知道什么时候用?? 何时使用? ?

在TypeScript中导入时找不到模块

我有一个导入nodejs模块的小问题。 对于http模块,这个语法运行良好: import * as http from "http"; 但是,当我试图做'mysql2'node.js模块相同: import * as database from "mysql2"; 我给了我一个错误: Cannot find module 'mysql2' 并拒绝编译该行。 我甚至尝试过这样的语法(不知道为什么): import {database} from 'mysql2'; 但是只有我这样写的时候没有错误: let database = require('mysql2'); 在tsconfig.json我已经设置: "module": "commonjs", "moduleResolution": "node", 当然,我已经通过npm在项目文件夹中安装了模块: npm install mysql2 –save 所以我的问题是,为什么导入不工作,我有错误的Visual Studio代码?

什么时候应该在node.js mysql中使用连接池?

这是我在node.js中创buildMySQL连接的典型方法 var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '', database : 'address_book' }); var app = express(); connection.connect(function(err){ if(!err) { console.log("Database is connected … nn"); } else { console.log("Error connecting database … nn"); } }); 生产用途足够好吗? 什么时候应该使用连接池? 使用连接池有什么优点和缺点?

防止node.js进程死于MySQL查询错误

我有一个运行MySQL查询的node.js脚本。 当这个查询遇到错误时,node.js进程就会死亡。 它使用mysql-node模块。 https://github.com/mysqljs/mysql 这是我的代码; function runQuery() { return new Promise(function (resolve, reject) { try { var connection = test_mysql.create_MySQL_conn(); var query_str = //MySQL query. blah blah ; var query_param = []; connection.query(query_str, query_param, function (err, rows, fields) { if (err) { console.log(err); return reject(err); } else { resolve(rows); } }); } catch (err) { […]

Node.js MySQLerror handling

我已经阅读了几个在node.js中使用mysql的例子,我对error handling有疑问。 大多数例子都是这样的error handling(也许是为了简洁): app.get('/countries', function(req, res) { pool.createConnection(function(err, connection) { if (err) { throw err; } connection.query(sql, function(err, results) { if (err) { throw err; } connection.release(); // do something with results }); }); }); 这会导致服务器在每次出现sql错误时崩溃。 我想避免这种情况,并保持服务器运行。 我的代码是这样的: app.get('/countries', function(req, res) { pool.createConnection(function(err, connection) { if (err) { console.log(err); res.send({ success: false, message: 'database […]

在nodejs中使用现有的mysql模式

我尝试使用sequelize和node-orm – 但有没有办法重用现有的mysql模式? 我有一个数据库模式定义与MySQL中的表,并希望用我的node.js应用程序(使用快递)。 所以,我不必再次写所有定义表的方法。 任何帮助表示赞赏…我经历了一堆堆栈溢出问题,如: 我应该使用哪个ORM Node.js和MySQL? 谢谢,JP

将node-mysql结果行组合成node.js的单个JSON返回值

我想知道返回一堆JSON的最好方法,这是一些依赖mysql查询的结果。 app.get('/viewing/:id', function (req, res){ if(!req.cookies.user) { res.end('Requires Authenticated User'); } else { connection.query('SELECT blah blah where userId='+req.params.id, function (error, rows, fields) { 现在我们有一堆行 – 让我说5,我需要通过每一个,并根据我刚刚得到的数据进行另一个MySQL查询。 所以我最终需要重复呼叫(我循环?) connection.query('SELECT id, firstName, lastName from users where id='+AN_ID_FROM_PRIOR_QUERY, function (error2, rows2, fields2) { }); } } 如何将第二个查询的每个重复select的行合并为一个可以作为JSON返回的对象? res.writeHead(200, {'Content-Type': 'text/plain'}); res.end(JSON.stringify(results)); } }); } });

“INSERT INTO”不会将数据插入到我的sql数据库中

我用wamp服务器来浏览数据库,我开始从nodejs express服务器连接数据库 当我写插入查询没有错误,但是当我浏览表添加的行有空值。 这是我的查询代码 app.post('/new_sess_mouse',function(req,res ){ var sess_name = req.body.sess_name , sess_id = req.session.id , email = req.session.email ; var sql = "INSERT INTO ?? SET ?? = ? AND ?? = ? AND ?? = ? "; var inserts = ['sessions', 'sess_name' , sess_name ,'sess_id',sess_id ,'email' , email ]; sql = mysql.format(sql, inserts); console.log(sql); […]

如何使用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) { }); 我插入时做类似的语法(与数组),并且工作正常。 那么这样做有什么问题呢? 当我执行这个,我得到一个语法错误:( 我应该以其他方式做这个吗?

NodeJS与mysql的asynchronous令我感到困惑

我是NodeJS的新手。 我有以下代码片段。 var connection = mysql.createConnection(dbConfig); connection.connect(function(err) { if (err) console.log("MySQL Connection Error: ", err); else console.log("Connection successfully established"); }); connection.query("SELECT * FROM `members1617`;",function(err,rows) { if (err) console.log("err: ", err); else console.log("rows: ",rows); connection.end(); }); 这是不好的代码? 我认为这是因为不能保证在查询被激活之前connection.connect()已经完成并且连接已经build立。 而id连接之前,查询是esecuted然后会有各种各样的错误。 Async在这里工作如何?