Articles of mysql

历史更新mysql节点js

您好我使用节点JS与MYSQL,并试图查看历史更新如何与node-mysql一起工作。 我遇到了一个问题,当我尝试更新表中的ID行时,我想获取该行,使用新的时间戳更新它,然后插入一个ID为2的新行,但没有更新时间戳。 例 ID | Owner | app | status | INSERT_DT | UPDATE_DT 1 11 Ok 1 2015-15-20 13:00:21 NULL 现在当我通过改变状态更新上面的行时,应该会出现 ID | Owner | app | status | INSERT_DT | UPDATE_DT 1 11 Ok 1 2015-15-20 13:00:21 20-15-20 12:00:12 2 11 Ok 0 2015-15-20 12:00:12 | NULL 所以我得到这样的行 getUserPath = (Owner) => new […]

寻找一些关于nodeJs的mysql模块的帮助

我正在尝试与nodeJs服务器和mysql数据库进行聊天。 我决定在这里创build一个模块(命名为Mysqler): var mysql = require('mysql'); var Mysqler = function(query) { var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '', database : 'watchat', }); connection.connect(); Mysqler.prototype.query = function (query) { var res = mysql.query(query, function(err, result, fields) { console.log(result); if (err) throw err; else return result; }); console.log(res); return res; }; […]

在nodejs中使用现有的mysql模式

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

nodejs中有多less个工作线程?是否可以修改数字以获得更好的性能?

据我所知,nodejs不是单线程的。 在后台,一个工作者线程池正在循环执行不能由epoll等完成的长期io任务。但是在后台有多less线程? 我找不到任何文件来grep数字。 如果我想要nodejs与mysql数据库合作,应该有多个线程来执行长期的查询任务。 如果只有一些nodejs提供的线程,一些sql查询就会阻塞,这是非常危险的。 所以我应该非常小心mysql模型定义和sql查询性能,而这真的是一种专门的工作。

将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)); } }); } });

从MySQL开始,将来更改为MongoDB?

我是新来的node.js我打算使用MySQL以外的数据库(可以说MongoDB),但我只熟悉MySQL。 你认为先使用MySQL,并在未来更改为MongoDB? 或快速学习MongoDB并从头开始使用MongoDB?

Jade不会显示mysql的结果

我使用node.js,express,jade和mysql。 \\app.js var db_config = { host: 'localhost', port: '3306', [redacted] }; var connection = mysql.createConnection(db_config); … app.get('/events', routes.events(connection)); \\index.js exports.events = function (db) { return function (req, res) { db.connect(function (err) { if (err) { console.log('error\'d:', err); } }); db.query('SELECT name FROM event', function (err, rows, fields) { if (err) throw err; else { […]

用Node.JS查询MySQL并在网页中显示结果

我的目标是用Node.JS查询MySQL以获得更好的交互性。 我的查询是一个简单的SELECT和JOIN 。 我设法构build了一个在控制台中显示结果的脚本,但在网页中显示时,我仍然陷入困境。 这是我的代码: var mysql = require('mysql'); var mySqlClient = mysql.createConnection({ host : 'server', user : 'login', password: 'pwd', database: 'db' }); var selectQuery = 'SELECT fields FROM table t1\ INNER JOIN table t2\ ON t1.field = t2.field'; mySqlClient.query( selectQuery, function select(error, results, fields) { if(error) { console.log(error); mySqlClient.end(); return; } if(results.length > […]

无法读取未定义的属性“ID”。 performance

完整的代码如下 – 很简单,我想添加,删除或更新post – 当我做他们自己的东西之一,它的工作原理,但它打破 我已经在NodeJS MySQL中search了很多我用来查询数据库的MySQL var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', port : 3306, database: 'nodeproject', user : 'noderoot', password : 'default' }); var express = require('express'); var http = require('http'); var path = require('path'); var exphbs = require('express3-handlebars'); var qs = require('querystring'); var app = express(); app.set('port', […]

了解Try / Catch和Domains在Node中的error handling

我一直在研究正确的方法来处理Node中的错误,并且在StackOverflow和NodeJS的站点上find了一些很好的答案,例如如何防止node.js崩溃? try-catch不起作用 ,并且NodeJS自己logging: http : //nodejs.org/api/domain.html 。 不过,我还剩下几个问题,关于何时何地使用try / catch和/或域名。 我意识到这与asynchronous代码和同步代码有关,但即使在NodeJS网站提供的有关域的示例代码中,它们也会在域的error handling程序中使用try / catch。 有人可以解释一些细节,try / catch不会在error handling程序中捕获asynchronous错误吗? 除此之外,NodeJS的文档build议您仍然应该结束exception进程,这就是为什么来自Domain文档的代码build议在发生exception时使用集群来分派新的subprocess/ worker。 主要的原因是: 由于JavaScript在JavaScript中的工作原理,几乎没有任何方法可以安全地“捡起你离开的地方”,而不会泄漏引用或创build其他某种不明确的状态。 有人可以解释这个吗? 抛出在JavaScript中如何工作的本质是什么? 为什么资源会疯狂泄漏? 是否真的有必要重新启动进程或杀死/启动一个工人? 例如,我正在实现JugglingDB ORM,并且曾经忘记启动我的本地mysql服务器。 我遇到了一个ECONNREFUSED错误,导致程序崩溃。 意识到这可能发生在生产环境(数据库崩溃或暂时不可用),我想抓住这个错误,并妥善处理; 重试连接,维护关于数据库的状态variables,并可能通过响应暂时不可用的消息来处理请求。 Try / Catch根本没有发现错误,尽pipe我看到我可以使用一个域名,但是使用推荐的策略,我将处于无休止的杀死和启动工作的循环,直到数据库恢复在线。 JugglingDB ,无论出于何种原因,只有一个“连接”的事件,但没有任何forms的callback函数,通过一个错误的对象; 它试图连接你实例化类的那一刻,并抛出没有捕获并以优美的方式散发的错误。 这使我想看看其他的ORM,但这仍然不能回答我有关如何处理这种情况的问题。 使用一个域来捕获潜在的连接错误,并在没有启动一个新进程的情况下正常处理它会是错误的吗? 这里是我发布到JugglingDB github上的问题: https : //github.com/1602/jugglingdb/issues/405 ,这里是JugglingDB在服务器不存在时产生的错误的堆栈跟踪在启用池选项时发生 ): Error: connect ECONNREFUSED at errnoException (net.js:901:11) at Object.afterConnect [as […]