Javascript heroku node.js错误

Javascript heroku node.js错误,javascript,sql,node.js,heroku,heroku-postgres,Javascript,Sql,Node.js,Heroku,Heroku Postgres,因此,我决定使用heroku和node.js创建一个discord points机器人,但我一直遇到以下错误: 错误:“重复”处或附近出现语法错误 我试过调试,但没有结果所以是的。。。我需要帮助。 我用javascript向sql postgresql数据库发送的内容: 'INSERT INTO points (Roblox_name, Points) VALUES (' + name + ', ' + amount + ') ON DUPLICATE KEY UPDATE Points=VAL

因此,我决定使用heroku和node.js创建一个discord points机器人,但我一直遇到以下错误:

错误:“重复”处或附近出现语法错误

我试过调试,但没有结果所以是的。。。我需要帮助。 我用javascript向sql postgresql数据库发送的内容:

'INSERT INTO points (Roblox_name, Points) VALUES (' + name + ', ' + amount + ') ON DUPLICATE KEY UPDATE Points=VALUES(' + amount + ')'
范例{ 金额=322 和 姓名=乔治 }

编辑: 原始应用程序日志[值(“+amount+”)更改为“+amount]:

2018-07-26T19:32:08.576609+00:00 app[worker.1]: Ready to serve on 1 servers, 
for 6 users.
2018-07-26T19:32:42.536398+00:00 app[worker.1]: /app/bot.js:56
2018-07-26T19:32:42.536422+00:00 app[worker.1]:             if (err) throw 
err;
2018-07-26T19:32:42.536424+00:00 app[worker.1]:                      ^
2018-07-26T19:32:42.536425+00:00 app[worker.1]: 
2018-07-26T19:32:42.536427+00:00 app[worker.1]: error: syntax error at or 
near "DUPLICATE"
2018-07-26T19:32:42.536429+00:00 app[worker.1]:     at Connection.parseE 
(/app/node_modules/pg/lib/connection.js:553:11)
2018-07-26T19:32:42.536431+00:00 app[worker.1]:     at 
Connection.parseMessage (/app/node_modules/pg/lib/connection.js:378:19)
2018-07-26T19:32:42.536432+00:00 app[worker.1]:     at TLSSocket.<anonymous> 
(/app/node_modules/pg/lib/connection.js:119:22)
2018-07-26T19:32:42.536434+00:00 app[worker.1]:     at emitOne 
(events.js:116:13)
2018-07-26T19:32:42.536435+00:00 app[worker.1]:     at TLSSocket.emit 
(events.js:211:7)
2018-07-26T19:32:42.536437+00:00 app[worker.1]:     at addChunk 
(_stream_readable.js:263:12)
2018-07-26T19:32:42.536439+00:00 app[worker.1]:     at readableAddChunk 
(_stream_readable.js:250:11)
2018-07-26T19:32:42.536440+00:00 app[worker.1]:     at 
TLSSocket.Readable.push (_stream_readable.js:208:10)
2018-07-26T19:32:42.536442+00:00 app[worker.1]:     at TLSWrap.onread 
(net.js:597:20)
2018-07-26T19:32:42.629819+00:00 heroku[worker.1]: Process exited with 
status 1
2018-07-26T19:32:42.738809+00:00 heroku[worker.1]: State changed from up to 
crashed
2018-07-26T19:32:08.576609+00:00应用程序[工人1]:准备在1台服务器上服务,
适用于6个用户。
2018-07-26T19:32:42.536398+00:00应用程序[工人1]:/app/bot.js:56
2018-07-26T19:32:42.536422+00:00应用程序[工人1]:如果(错误)抛出
犯错误
2018-07-26T19:32:42.536424+00:00应用程序[工人1]:^
2018-07-26T19:32:42.536425+00:00应用程序[工人1]:
2018-07-26T19:32:42.536427+00:00应用程序[worker.1]:错误:或处的语法错误
接近“重复”
2018-07-26T19:32:42.536429+00:00应用程序[工人1]:at Connection.parseE
(/app/node_modules/pg/lib/connection.js:553:11)
2018-07-26T19:32:42.536431+00:00应用程序[工人1]:在
Connection.parseMessage(/app/node_modules/pg/lib/Connection.js:378:19)
2018-07-26T19:32:42.536432+00:00应用程序[工人1]:在TLSSocket。
(/app/node_modules/pg/lib/connection.js:119:22)
2018-07-26T19:32:42.536434+00:00应用程序[工人1]:在emitOne
(events.js:116:13)
2018-07-26T19:32:42.536435+00:00应用程序[工人1]:在TLSSocket.emit
(events.js:211:7)
2018-07-26T19:32:42.536437+00:00应用程序[工人1]:在addChunk
(_stream_readable.js:263:12)
2018-07-26T19:32:42.536439+00:00应用程序[工人1]:位于readableAddChunk
(_stream_readable.js:250:11)
2018-07-26T19:32:42.536440+00:00应用程序[工人1]:在
TLSSocket.Readable.push(_stream_Readable.js:208:10)
2018-07-26T19:32:42.536442+00:00应用程序[工人1]:在TLSWrap.onread
(net.js:597:20)
2018-07-26T19:32:42.629819+00:00 heroku[工人1]:进程已退出
状态1
2018-07-26T19:32:42.738809+00:00 heroku[worker.1]:状态从最多更改为
坠毁
编辑新的错误日志:

2018-07-27T12:24:05.106369+00:00 app[worker.1]: { error: syntax error at or 
near 
"DUPLICATE"
2018-07-27T12:24:05.106409+00:00 app[worker.1]:     at Connection.parseE 
(/app/node_modules/pg/lib/connection.js:553:11)
2018-07-27T12:24:05.106411+00:00 app[worker.1]:     at 
Connection.parseMessage 
(/app/node_modules/pg/lib/connection.js:378:19)
2018-07-27T12:24:05.106412+00:00 app[worker.1]:     at TLSSocket.<anonymous> 
(/app/node_modules/pg/lib/connection.js:119:22)
2018-07-27T12:24:05.106413+00:00 app[worker.1]:     at emitOne 
(events.js:116:13)
2018-07-27T12:24:05.106414+00:00 app[worker.1]:     at TLSSocket.emit 
(events.js:211:7)
2018-07-27T12:24:05.106415+00:00 app[worker.1]:     at addChunk 
(_stream_readable.js:263:12)
2018-07-27T12:24:05.106417+00:00 app[worker.1]:     at readableAddChunk 
(_stream_readable.js:250:11)
2018-07-27T12:24:05.106418+00:00 app[worker.1]:     at 
TLSSocket.Readable.push 
(_stream_readable.js:208:10)
2018-07-27T12:24:05.106419+00:00 app[worker.1]:     at TLSWrap.onread 
(net.js:597:20)
2018-07-27T12:24:05.106420+00:00 app[worker.1]:   name: 'error',
2018-07-27T12:24:05.106422+00:00 app[worker.1]:   length: 98,
2018-07-27T12:24:05.106423+00:00 app[worker.1]:   severity: 'ERROR',
2018-07-27T12:24:05.106424+00:00 app[worker.1]:   code: '42601',
2018-07-27T12:24:05.106425+00:00 app[worker.1]:   detail: undefined,
2018-07-27T12:24:05.106426+00:00 app[worker.1]:   hint: undefined,
2018-07-27T12:24:05.106427+00:00 app[worker.1]:   position: '72',
2018-07-27T12:24:05.106428+00:00 app[worker.1]:   internalPosition: 
undefined,
2018-07-27T12:24:05.106429+00:00 app[worker.1]:   internalQuery: undefined,
2018-07-27T12:24:05.106430+00:00 app[worker.1]:   where: undefined,
2018-07-27T12:24:05.106431+00:00 app[worker.1]:   schema: undefined,
2018-07-27T12:24:05.106433+00:00 app[worker.1]:   table: undefined,
2018-07-27T12:24:05.106434+00:00 app[worker.1]:   column: undefined,
2018-07-27T12:24:05.106435+00:00 app[worker.1]:   dataType: undefined,
2018-07-27T12:24:05.106436+00:00 app[worker.1]:   constraint: undefined,
2018-07-27T12:24:05.106437+00:00 app[worker.1]:   file: 'scan.l',
2018-07-27T12:24:05.106438+00:00 app[worker.1]:   line: '1087',
2018-07-27T12:24:05.106439+00:00 app[worker.1]:   routine: 'scanner_yyerror' 
}
2018-07-27T12:24:05.106369+00:00应用程序[worker.1]:{错误:或处的语法错误
近的
“重复”
2018-07-27T12:24:05.106409+00:00应用程序[工人1]:at Connection.parseE
(/app/node_modules/pg/lib/connection.js:553:11)
2018-07-27T12:24:05.106411+00:00应用程序[工人1]:在
Connection.parseMessage
(/app/node_modules/pg/lib/connection.js:378:19)
2018-07-27T12:24:05.106412+00:00应用程序[工人1]:在TLSSocket。
(/app/node_modules/pg/lib/connection.js:119:22)
2018-07-27T12:24:05.106413+00:00应用程序[工人1]:在emitOne
(events.js:116:13)
2018-07-27T12:24:05.106414+00:00应用程序[工人1]:在TLSSocket.emit
(events.js:211:7)
2018-07-27T12:24:05.106415+00:00应用程序[工人1]:在addChunk
(_stream_readable.js:263:12)
2018-07-27T12:24:05.106417+00:00应用程序[工人1]:位于readableAddChunk
(_stream_readable.js:250:11)
2018-07-27T12:24:05.106418+00:00应用程序[工人1]:在
TLSSocket.Readable.push
(_stream_readable.js:208:10)
2018-07-27T12:24:05.106419+00:00应用程序[工人1]:在TLSWrap.onread
(net.js:597:20)
2018-07-27T12:24:05.106420+00:00应用程序[工人1]:名称:“错误”,
2018-07-27T12:24:05.106422+00:00应用程序[工人1]:长度:98,
2018-07-27T12:24:05.106423+00:00应用程序[工人1]:严重性:“错误”,
2018-07-27T12:24:05.106424+00:00应用程序[工人1]:代码:“42601”,
2018-07-27T12:24:05.106425+00:00应用程序[工人1]:细节:未定义,
2018-07-27T12:24:05.106426+00:00应用程序[工人1]:提示:未定义,
2018-07-27T12:24:05.106427+00:00应用程序[工人1]:职位:“72”,
2018-07-27T12:24:05.106428+00:00应用程序[工人1]:内部职位:
未定义,
2018-07-27T12:24:05.106429+00:00应用程序[工人1]:内部查询:未定义,
2018-07-27T12:24:05.106430+00:00应用程序[工人1]:其中:未定义,
2018-07-27T12:24:05.106431+00:00应用程序[工人1]:模式:未定义,
2018-07-27T12:24:05.106433+00:00应用程序[工人1]:表格:未定义,
2018-07-27T12:24:05.106434+00:00应用程序[工人1]:列:未定义,
2018-07-27T12:24:05.106435+00:00应用程序[工人1]:数据类型:未定义,
2018-07-27T12:24:05.106436+00:00应用程序[工人1]:约束:未定义,
2018-07-27T12:24:05.106437+00:00应用程序[工人1]:文件:“scan.l”,
2018-07-27T12:24:05.106438+00:00应用程序[工人1]:行:“1087”,
2018-07-27T12:24:05.106439+00:00应用程序[工人1]:例行程序:“扫描仪出错”
}

您不需要在语句的这一部分中重新指定值
Points=values(“+amount+”)”


它可以是
积分=金额
。也许您需要将转换为整数值,但应该是这样

如果Roblox_namePoints是字符串,则必须在“values”中设置值

你应该使用

if(err !== null){
    console.error(err);
    return;
}
而不是

if (err) throw err;

是的,我在添加值bit太和cast或convert之前出现了错误?另外,如果(!isNaN(amount))检查变量是否为整数,请检查您的输入,但我已经添加了这两个变量,并且仍然得到了错误编辑后的日志在“编辑新错误日志”下:在主帖子中,我不知道sql中重复的语法,因此,让我在这里问一下您想如何插入数据,它可以被另一个查询替换。它意味着插入一个值,除非Roblox\u name值存在,然后它更新,然后它更新该值如果您指定了更新数据(如果存在),为什么不尝试使用select语句检索“Roblox\u name”(如果存在),如果UPDATE或INSERT语句尚不存在,则可以使用该语句。
if (err) throw err;