Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么某些查询失败?_Javascript_Postgresql_Knex.js - Fatal编程技术网

Javascript 为什么某些查询失败?

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

我正在尝试使用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 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好的,我找到了问题所在。我只是愚蠢到在第一行的末尾失去了空间。抱歉打扰您一般来说,打印生成的查询以检查语法问题总是好的。