Javascript heroku node.js错误
因此,我决定使用heroku和node.js创建一个discord points机器人,但我一直遇到以下错误: 错误:“重复”处或附近出现语法错误 我试过调试,但没有结果所以是的。。。我需要帮助。 我用javascript向sql postgresql数据库发送的内容: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
'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_name和Points是字符串,则必须在“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;