Tag: mysql

如何转换datetime格式?

我正在使用sailsjs(node.js),我已经从mysql数据库中获取所有数据,并在jtable中显示数据,但date格式如下所示: YYYY-MM-DDTHH:mm:ss.000Z 。 我需要将这个(YYYY-MM-DDTHH:mm:ss.000Z)格式转换成14-08-2015 04:36:04 PM 在jtable我已经使用下面的格式,但不工作。 UpdatedDate: { edit: false, create: false, type: 'datewithtime', displayFormat: 'dd-mm-yy', Weightage: 2, tooltip: 'Date Modified', title: 'Date Modified' /*display: function (data) { return moment(data).format('YYYY-MM-DDTHH:mm:ss'); // return data.format("dd-m-yy"); }*/ } in model CreatedDate : { type: 'DATETIME'},

Node.js的mysqlcallback错误

我用node.js和mysql。 我在mysql查询callback中做了callback函数。 exports.callback = function(req) { …. Mysqldb.pool.getConnection(function(err, db) { db.query("select * from tbl"), function (err,rows) { db.query("update tbl set id = 1"), function (err, rows){ }); //update tbl });//select tbl }); //getconnection }; //export.callback 错误是更新查询callback….错误消息是 TypeError: this._callback.apply is not a function at Query.Sequence.end (c:\redfox_server_src\node_modules\mysql\lib\protocol\sequences\Sequence.js:96:24) at Query.ErrorPacket (c:\redfox_server_src\node_modules\mysql\lib\protocol\sequences\Query.js:94:8) at Protocol._parsePacket (c:\redfox_server_src\node_modules\mysql\lib\protocol\Protocol.js:274:23) at Parser.write (c:\redfox_server_src\node_modules\mysql\lib\protocol\Parser.js:77:12) at […]

在JavaScript中处理重复主键的模式

我正在使用npm sequelize库来存储MySQL。 主键是使用shortid库生成的任务ID。 什么是一个好的Javascript模式来处理重复的ID,在不太可能的情况下,shortid给我一个重复的键? 我想在重复键错误被捕获时返回false,并且有一个外部while循环来重新尝试重新创build任务(使用新生成的id)。 这是一个相当不好的解决scheme,那么有没有更好的方法来做到这一点? Task.create({ id: shortid.generate(), content: task.content, deadline: task.deadline }).catch(function(error) { console.log('repeated id'); return false; }).then(function() { console.log('yay ok'); return true; });

如何防止MySQL用户定义的variables碰撞

我有一个node.js服务器,它使用node-mysql连接池来查询MySQL数据库。 我需要使SELECT用户定义variables的查询添加以前的行的总和。 在查询之前,我将该variables初始化为0。 SET @sum:=0; SELECT *, @sum := @sum + `value` AS SUM FROM `table`; 该查询按预期工作,但我担心如果同时有多个请求到我的节点服务器会发生什么。 服务器将进行多个查询。 他们会碰撞和相互影响,每增加一个variables? 如果是的话,我怎么能阻止呢? 最好的情况是将variables的范围限制在一个SELECT查询中。 这将允许我删除SET语句并在ISNULL包装@sum 。 所以结果会是 SELECT *, @sum := ISNULL(@sum,0) + `value` AS SUM FROM `table`; 但是我不知道如何限制范围,所以在这个查询结束时, @sum留在最终值,对于下一个查询,它不是null ,所以它不会从0开始递增。 无论如何,我可以保持SET但需要确保使用相同连接的多个查询不会相互影响。 我不知道MySQL如何处理查询,所以这可能不是一个问题,但我需要确定。 感谢您的任何帮助!

Node.js / Express – 在哪里把MySQL连接?

我正在学习如何使用node.js连接到我的第一个快速Web应用程序的mysql数据库: http : //expressjs.com/guide/database-integration.html#mysql 我在哪里把这个代码放在我刚生成的Express应用程序中? 我只是把它放在app.js文件中? 在我看来,如果我把它放在app.js中,那么对于所有未来的web请求,查询数据都将停滞不前。 如果每个Web请求都必须有来自数据库的当前数据,我应该在哪里放这个代码? 对不起,我已经写了其他的node.js应用程序,但是我把它作为一个web服务器来使用,而且我完全是新的expression方式。 我很感激任何有关在什么地方放置东西的指导。

无法将variables作为标准发送给waterline查询

我build立的查询条件如下,我把它存储在一个名为“选项” if (typeof cb.parametre.categorie !== "undefined") { if(typeof options !== "undefined") { options =options+ '{categorie: ' + cb.parametre.categorie + '}'; }else { options = '{categorie: ' + cb.parametre.categorie + '}'; } } if (typeof cb.parametre.localisation !== "undefined") { if(typeof options !== "undefined") { options=options+',{nomVille:'+cb.parametre.localisation.address_components[0].long_name+'}'; } else { options='{nomVille:'+cb.parametre.localisation.address_components[0].long_name+'}'; } } if(cb.parametre.motclef) { if(typeof options !== […]

Node.JS Express到HTML数据传输

我正在用node.js创build一个login应用程序,我似乎遇到了从服务器到html的string传输领域的知识缺陷。 我张贴我的当前代码在jsfiddle 。 我的应用程序validation到MySQL表的凭据,然后生成一个基本令牌,其中包含用户名密码和用户的IP地址。 在最后一块代码中,客户端HTML发布到服务器,我有两个部分,你看到发送到基本用户页面,并发送到pipe理页面。 我试图研究这个问题,但我没有得到任何有关的情况。 任何人都可以引导我正确的方向发送用户到pipe理员或用户页面,同时发送令牌? 另外,快递服务器如何将数据发送到客户端,例如在页面上,我希望数据库能够保存关于用户的相关信息,如地址和电话号码。 这些信息如何通过html从服务器传输到客户端? app.post('/', urlencodedParser, function (req, res) { var date = new Date(); con.query("SELECT * from users WHERE username=" + con.escape(req.body.username) + " AND password=" + con.escape(req.body.password), function (err, rows, fields) { if (err) { console.log(err); } else { var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; if (rows == […]

MySQL根据两个表select行

我试图做一个基于另外两个表数据的SELECT查询。 _sites_数组有5个对象, _cats_数组现在有12个对象。 所以,为了得到基于这些对象的news ,我必须重复做12 * 5 sql查询。 (对于每个类别和网站) 我怎样才能减less查询计数? getSites(function (_sites_) { getCategories(function (_cats_) { var array = [] async.each(_sites_, function (site, next) { async.each(_cats_, function (cat, next2) { var sql = "SELECT * "+ "FROM news "+ "WHERE category = ? AND site = ? "+ "ORDER BY id DESC LIMIT 30" db.query(sql, […]

(Mysql)使用存储过程插入数据与nodejs?

我写这个代码,但我不知道为什么这个代码有错误的MySQL数据库时,我试图用存储过程在MySQL中: var mysql = require("mysql"); var con = mysql.createConnection({ host: "localhost", port: "8889", user: "root", password: "root", database: "ResetAccountTest" }); con.connect(function(err){ if(err){ console.log('Error connecting to Database'); return; } console.log('Connection established'); }); var accountTest = { email: 'mra@fpt.edu.vn', password: 'root', bit: '1' }; con.query('call newAccount(?, ?, ?)', accountTest, function(err, result) { if (err) throw err; console.log(result.insertId); […]

node.js / javascript在其他数组内添加一个数组作为子节点

描述:我对一个表执行一个mysql查询,并取回一些行 > connection.query(q2,function(err,rows){…} 可以说,行看起来像{id:",,,", time:"…" etc:"cc"}接下来,为每一行我查询另一个表,并取回一些让我们说基于行的ID 。 可以有0-100行依赖于查询 > for (var i = 0; i < rows.length; i++){ > connection.query(qc,function(err2,coms){ 可以说coms看起来像这样{ rowid:",,,", something:"ddd" smthelse:"ff"}每行也可以有0 – 100个com。问题: 我怎样才能在行内添加coms,所以对于每一行我有coms我从表中返回? 我想要这样的东西 > {id:"1", time:"…" etc:"cc" coms:{ rowid:",,,", something:"ddd" > smthelse:"ff"}} 已经尝试过了: rows[i].comms=coms; (not working) rows[i].comms[j]=coms[j]; (不工作) rows[i].push(coms) (不工作) rows.comms=coms; (工作,但它不是我想要的,与此我得到多次相同的数据) 我在第一次查询后使用的整个代码 connection.query(q2,function(err,rows){ // connection.release(); if(!err) { // rows["coms"]=[]; […]