为什么受影响的行在更新/删除成功时返回0?

我有话说:

INSERT INTO infotbl(name, phone) VALUES('Alex', '9999999'); 

并更新它:

 UPDATE infotbl SET name = 'Alex Johnes', phone = '999 34356063' WHERE id = 1; 

然后删除:

 DELETE FROM infotbl WHERE id = 1; 

我已经成功插入了,当我更新和删除行已被更改在MySQL。 但我在Node中的代码返回受影响的行= 0.为什么? 有我的function来更新和删除节点中:

 function deleteCustomer (id, callback) { db.connection.query("DELETE FROM infotbl WHERE id=?", id, (err, result) => { if (err) throw err; if (result.affectedRows > 0) callback(true); else callback(false); }); }; 

和更新function:

 function updateCustomer(id, name, phone, callback) { db.connection.query("UPDATE infotbl SET name = ?, phone = ? WHERE id = ?;", [name, phone, id], (err, result) => { if (err) throw err; if (result.affectedRows > 0) callback(true); else callback(false); }); } 

数据库执行成功后为什么节点返回0受影响的行?

最可能的解释是没有行满足UPDATE和DELETE语句中的条件。 也就是说,没有id值等于1

如果条件匹配一个或多个行,则UPDATE可能会影响零行,但应用于该行的更改会导致“无变化”…也就是说,要修改的列已经分配了值。

成功执行但影响零行的UPDATE或DELETE仍被视为成功。

错误无法读取未定义的属性“0”

我正在为我的移动应用程序构build一个nodejs服务器,并且在保存数据时遇到了问题,我可以在data.jade中显示它

在这里我的错误消息:

Cannot read property '0' of undefined at jade_debug.unshift.lineno (eval at <anonymous> (/Users/****/Documents/Node- server/node_modules/jade/lib/jade.js:160:8), <anonymous>:33:21) at eval (eval at <anonymous> (/Users/****/Documents/Node-server/node_modules/jade/lib/jade.js:160:8), <anonymous>:65:4) at res (/Users/****/Documents/Node-server/node_modules/jade/lib/jade.js:161:38) at Object.exports.render (/Users/****/Documents/Node-server/node_modules/jade/lib/jade.js:257:10) at Object.exports.renderFile (/Users/****/Documents/Node-server/node_modules/jade/lib/jade.js:293:18) at View.exports.renderFile [as engine] (/Users/Yanis/Documents/Node-server/node_modules/jade/lib/jade.js:278:21) at View.render (/Users/****/Documents/Node-server/node_modules/express/lib/view.js:76:8) at Function.app.render (/Users/****/Documents/Node-server/node_modules/express/lib/application.js:505:10) at ServerResponse.res.render (/Users/****/Documents/Node-server/node_modules/express/lib/response.js:756:7) at /Users/****/Documents/Node-server/index.js:44:9 

index.js:

 app.get('/:collection', function(req, res) { var params = req.params; collectionDriver.findAll(req.params.collection, function (error, objs) { if (error) { console.log("mongo db error"+error); objs = []; } else { if (req.accepts('html')) { res.render('data', {objects: objs, collection: req.params.collection}); } else { res.set('Content-Type', 'application/json'); res.send(200, objs); } } }); }); 

最后是我的data.jade:

 #objects table(border=1) if objects.length > 0 - each val, key in object[0] th= key - each obj in objects tr.obj - each val, key in obj td.key= val 

正如你可以看到我的对象是不是在data.jade“定义”,我不知道为什么。 我不知道这个问题是来自玉文件还是de .js。 你们谁都有解决scheme?

object[0]可能应该是data.jade objects[0]

节点不会运行,只是退出代码0

好几天前我总是打电话给npm install和调用sudo ,我试图卸载节点,并试图通过自制安装,我设法做了一个巨大的灾难,但最终它的工作。 到现在…

当我运行node app.jsnpm install它只是不会做任何事情。

  • 我尝试删除这样的相关文件。

  • 我尝试使用nvm 。

  • 从节点主页尝试手动安装.pkg文件。

  • 再次尝试通过自制。

而且还没有运气; 然而,如果Node应用程序有编译错误,我得到的错误堆栈,但是当一切都“好”,而不是开始监听传入的连接,它只是退出代码0。

好吧,我觉得reaaaaaaaaally愚蠢后,我发现这个问题,在我的postgresqlconfiguration我有错误的数据库密码,并由于某种原因造成了这一切的混乱。 如果你低估了我是一个这样的傻瓜,你会明白吗?

OneOfOne的node debug然后保持按下s为我做的伎俩。

如何推动数组的索引0的元素

我有这样的情况,

我有2 array1 array1 = ["fruit","vegetables"];

array2 = [["apple","banana"],["tomato"]]; // index 0:represent fruit i,e (["apple","banana"]), index 1: vegetables i,e (["tomato"])

我的问题怎样才能从array1 push item ,以使我的array2看起来像这样

[["fruit","apple","banana"],["vegetables","tomato"]];

与我可以确定index:0作为category

我的 data structure是这2个array array1 = ["fruit","vegetables"]; AND array2 = [["apple","banana"],["tomato"]];

如果我能够得到对我有好处的key valuearray

我的样本数据:

 array1 = ["fruit","vegetables"]; array2 = [["apple","banana"],["tomato"]]; //expected output :[["fruit","apple","banana"],["vegetables","tomato"]]; 

使用Array#unshift方法。

 var array1 = ["fruit", "vegetables"], array2 = [ ["apple", "banana"], ["tomato"] ]; var array3 = array2.map(function(v, i) { // iterate over the array to generate the new array var arr = v.slice(); // copy the array arr.unshift(array1[i]) // insert element at beginning return arr; /// return generated array }); console.log(array3) 

试试这个Array.map()Array.unshift()unshift()将数据推入数组[0]index位置。

 array1 = ["fruit","vegetables"]; array2 = [["apple","banana"],["tomato"]]; array2.map((a,i) => a.unshift(array1[i])) console.log(array2) 
Interesting Posts

Node.js Express / less-middleware&Bootstrap 3

为什么Angular 2不加载默认的应用程序根组件?

使用参数的Node.js&Express路由

续集查询多对多关系和访问对象

在节点JS中使用Express进行查询string的预路由

每个简单的asynchronouseachLimit示例会引发范围错误?

sequelize .create不是函数错误

为expressjs应用正则expression式

为什么在会话结束之后,MongoStore的MongoStore会不走呢?

如何防止使用variables时切换正则expression式testing?

将前端的值传递给后端,而不使用url

我应该在Node.js(Express)应用程序中定义我的MySQL客户端?

我如何鉴别续集?

重新格式化date正则expression式

如何在express / node js发送错误http响应?

在Express 2.x中访问Redis insdie路由处理程序

使用pm2将环境variables传递给node.js

在Mac上找不到“express”命令

正则expression式匹配HTML属性的多个匹配项

Express.js,Node.js Jade – 遵循expressjs.com教程,并获取错误

正则expression式匹配string中的开始([)和结束(,)(仅)

包括帕格文件导致错误,但翡翠工作正常

如何在Express – Node.js上主动caching?

HTML5模式 – ui-router – 未捕获SyntaxError:意外的标记<

在AngularJS中用无限滚动过滤页面

如何从angular2发表到服务器

NodeJS(Express.js):如何使会话全局

针对空值testingRegEx

Sequelize TypeError关联不是一个函数

生成的NodeJS Express应用程序不“听”?

用Node.js路由欺骗index.php

会话variables不存储在node.js中

如何针对Node.js中发生的每个错误发送电子邮件?

如何用curl查询Node.js Express

在intelliJ中创build一个Node.js Express项目

HTTP请求期间的RabbitMQ事件上的Express.js – res.send()?

如何检查express / node js中get方法中是否有支持的参数?

如何在nodejs中转义字符?

Expressjs Morgandynamic格式化日志

nodeJs上的TimeZone使用oAuth