我有一个表有20个整数列和1个文本列名为'foo'
如果我运行查询:
SELECT * from table_name where foo is NULL
Run Code Online (Sandbox Code Playgroud)
我收到错误:
ERROR: column "foo" does not exist
Run Code Online (Sandbox Code Playgroud)
我已经检查过自己的专栏确实存在.如果我这样做:
SELECT * from table_name where count is NULL
Run Code Online (Sandbox Code Playgroud)
结果输出显示'foo'作为列之一....我猜我必须在查询中做一些特殊的事情,因为foo是一个文本列...
感谢您的帮助(POSTGRESQL 8.3)
这是我所拥有的?
contacts=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+------------+------------+-----------------------
contacts | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
template0 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
contacts=# \d
List …Run Code Online (Sandbox Code Playgroud) 让我们考虑以下 postgres 查询:
SELECT *
FROM "MY_TABLE"
WHERE "bool_var"=FALSE
AND "str_var"='something';
Run Code Online (Sandbox Code Playgroud)
当我删除周围的引号时,查询无法正确响应,但当我"str_var"在"bool_var". 为什么?在这种情况下编写查询的正确方法是什么,布尔列周围没有引号,文本列周围没有引号?还有什么?
我有一个正在尝试更新的数据库,但我不明白为什么会收到有关不存在的列的奇怪错误。当我使用“heroku pg:psql”访问数据库时,我完全可以看到该列。我发现了其他几个具有类似问题的问题,但未能解决。
这是我执行插入的代码...与约束冲突...有什么想法吗?
const text = 'INSERT INTO "test2" '
+'(route_id, secupdated, retrievedate, traintimeday) '
+'VALUES($1, $2, $3, $4) '
+'ON CONFLICT ON CONSTRAINT traintimeday '
+'DO UPDATE SET (secupdated, secarrival) = (excluded.secupdated, excluded.secarrival) '
+'RETURNING *' ;
const values = [train_id
, Math.round(dateNow.getTime()/1000)
, Math.round(dateNow.getDate())
, Math.round(dateNow.getDate()) + stu.stop_id
];
pool.query(text, values, (err, res) => {
if (err) {
throw err;
}
console.log('user:', res.rows[0])
})
Run Code Online (Sandbox Code Playgroud)
错误消息显示“约束 traintimeday 不存在”
我正在运行一个简单的选择查询:
SELECT return_part_i.CntrctTrmntnInd FROM return_part_i LIMIT 10;
Run Code Online (Sandbox Code Playgroud)
并收到以下错误:
错误:return_part_i.cntrcttrmntnind 列不存在第 1 行:SELECT return_part_i.CntrctTrmntnInd FROM return_part_i LIMI... ^ 提示:也许您打算引用“return_part_i.CntrctTrmntnInd”列。SQL 状态:42703 字符:8
我已经尝试过使用和不使用表标识符的查询。我直接从提示中复制字段名称。数据库中的许多字段都会发生这种情况。