【发布时间】:2017-09-05 07:31:33
【问题描述】:
我有一个错误(node:1152) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 3): RequestError: The multi-part identifier "SC1.refb" could not be bound.
在控制台日志中显示所有选择,但似乎出现在最后并给出错误。
我的代码:
return Promise.all(parts.map(function(part) {
console.log("SELECT sc.scstamp, st.u_posic, st.fornec, st.fornecedor, sc.ref, sc.qtt, sc.design FROM sc INNER JOIN st ON st.ref = sc.ref WHERE sc.refb = '"+kitRef+"' AND st.u_posic = '"+part.u_order+"'"+
"UNION SELECT SC2.scstamp, st.u_posic, st.fornec, st.fornecedor, SC2.ref, SC2.qtt, SC2.design FROM sc AS SC1"+
"INNER JOIN sc SC2 ON SC2.refb = SC1.ref INNER JOIN st ON st.ref = SC2.ref WHERE SC1.refb = '"+kitRef+"' AND st.u_posic = '"+part.u_order+"'");
return request.query("SELECT [sc].[scstamp], [st].[u_posic], [st].[fornec], [st].[fornecedor], [sc].[ref], [sc].[qtt], [sc].[design] FROM sc INNER JOIN st ON st.ref = sc.ref WHERE sc.refb = '"+kitRef+"' AND st.u_posic = '"+part.u_order+"'"+
"UNION SELECT [SC2].[scstamp], [st].[u_posic], [st].[fornec], [st].[fornecedor], [SC2].[ref], [SC2].[qtt], [SC2].[design] FROM sc AS SC1"+
"INNER JOIN sc SC2 ON SC2.refb = SC1.ref INNER JOIN st ON st.ref = SC2.ref WHERE SC1.refb = '"+kitRef+"' AND st.u_posic = '"+part.u_order+"'")
.then(function(articles) {
return {part:part, articles:articles};
});
}));
查询没问题,因为如果我把它放在 sql 中效果很好。
谢谢
【问题讨论】:
-
在
.then之后添加.catch(function(e){ console.log(e) }) -
在 SC1.ref 和 SC1.refb 上给我错误。问题是什么? @stecb
-
@user3242861 你能发布整个堆栈跟踪吗?
-
这是查询中的空格。解决了!谢谢@stecb
-
@user3242861 你需要认真考虑下面关于sql注入的答案中的建议
标签: javascript node.js