Javascript 为什么某些查询失败?
我正在尝试使用knex.js运行以下查询:Javascript 为什么某些查询失败?,javascript,postgresql,knex.js,Javascript,Postgresql,Knex.js,我正在尝试使用knex.js运行以下查询: database.raw( 'SELECT DISTINCT ON(tiger_id) tiger_id, created_at, latitude, longitude, id' + 'FROM images ' + 'ORDER BY tiger_id, created_at DESC;' ) 任何其他查询都进行得很顺利,但此查询失败,并出现以下错误: error: column "tiger_id" does not
database.raw(
'SELECT DISTINCT ON(tiger_id) tiger_id, created_at, latitude, longitude, id' +
'FROM images ' +
'ORDER BY tiger_id, created_at DESC;'
)
任何其他查询都进行得很顺利,但此查询失败,并出现以下错误:
error: column "tiger_id" does not exist
at Connection.parseE (/node_modules/pg/lib/connection.js:553:11)
at Connection.parseMessage (/node_modules/pg/lib/connection.js:378:19)
at Socket.<anonymous> (/node_modules/pg/lib/connection.js:119:22)
at Socket.emit (events.js:182:13)
at Socket.EventEmitter.emit (domain.js:442:20)
at addChunk (_stream_readable.js:283:12)
at readableAddChunk (_stream_readable.js:264:11)
at Socket.Readable.push (_stream_readable.js:219:10)
at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
错误:“老虎id”列不存在
在Connection.parseE(/node_modules/pg/lib/Connection.js:553:11)
在Connection.parseMessage(/node_modules/pg/lib/Connection.js:378:19)
在插座上
使用pgAdmin进行的相同查询的结果(我希望knex查询返回相同的结果):
那么这里的问题是什么?是否有其他方法可以获得预期的结果?问题是我跳过了第一行末尾的空格,因此工作查询是:
database.raw(
'SELECT DISTINCT ON(tiger_id) tiger_id, created_at, latitude, longitude, id ' +
'FROM images ' + // this one ^
'ORDER BY tiger_id, created_at DESC;'
)
可能是竞争效应,可能在执行查询之前需要等待某些函数。@HRK44同一时间只运行一个查询。另外,之前的其他查询也没有问题,正如我之前提到的,表是如何创建的?@RaymondNijland好的,我找到了问题所在。我只是愚蠢到在第一行的末尾失去了空间。抱歉打扰您一般来说,打印生成的查询以检查语法问题总是好的。