简体   繁体   English

heroku node.js错误

[英]heroku node.js error

code So, I decided to make a discord points bot using heroku and node.js but I keep getting this error: 代码因此,我决定使用heroku和node.js制作一个不一致的机器人,但我不断收到此错误:

error: syntax error at or near "DUPLICATE" 错误:“ DUPLICATE”处或附近的语法错误

I tried debugging but got no results so yeah... i need help. 我尝试调试,但没有结果,所以是的...我需要帮助。 what im sending to the sql postgresql database with javascript stuff: 我用JavaScript东西将什么发送到sql postgresql数据库:

'INSERT INTO points (Roblox_name, Points) VALUES (' + name + ', ' + amount + ') ON DUPLICATE KEY UPDATE Points=VALUES(' + amount + ')'

example{ amount = 322 and name = george } 示例{数量= 322,名称=乔治}

EDIT: raw application log [with VALUES(' + amount + ')' changed to ' + 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

EDIT new error log: 编辑新的错误日志:

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' 
}

You don't need to re-specify values in this part of the statement Points=Values(' + amount + ')' 您无需在语句的此部分中重新指定值Points=Values(' + amount + ')'

It can instead just be Points = amount . 相反,它可以是Points = amount Perhaps you'll need to CAST or CONVERT amount to an integer value, but that should be it. 也许你会需要CASTCONVERT amount为整数值,但应该是它。

if Roblox_name and Points is string then value must be set in ' values ' 如果Roblox_namePoints是字符串,则必须在' values '中设置value

"INSERT INTO points (Roblox_name, Points) VALUES ('" + name + "','" + amount + "')
ON DUPLICATE KEY UPDATE Points=VALUES('" + amount + "')"

and you should use 你应该用

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

instead of 代替

if (err) throw err;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM