查询示例:
SELECT error->>'message' as message
FROM error_cases实际上,我的查询要复杂得多,我希望确保将来的代码更改不会破坏该查询输出的数据。我想将此查询的结果与我已有的一些特定输出进行比较。我正在使用testing.postgresql库创建临时数据库,运行查询,保存输出并销毁数据库。
我的查询使用Postgresql ->>表示法。我得到了错误:
psycopg2.errors.UndefinedFunction: operator does not exist: text ->> unknown为了重现,首先我创建了一个表:
cur.execute('CREATE TABLE error_cases (error TEXT NOT NULL)')然后我插入数据:
cur.execute('INSERT INTO error_cases
VALUES ('{"message": "someMessage"}')并选择:
select (error->>'message') as message from error_cases我已经查看了sqlalchemy来查询数据,但问题是我想测试我拥有的这个特定查询。在用于检索JSON的sqlalchemy中,我不能使用Postgresql表示法,它在我的查询中。
-是否有其他方法可以在使用testing.postgresql创建的数据库上运行包含->>运算符的查询
发布于 2020-01-15 21:53:43
我刚刚找到了这个问题,这是非常基本的-应该是:
CREATE TABLE error_cases (error JSONB NOT NULL)代替
CREATE TABLE error_cases (error TEXT NOT NULL)
https://stackoverflow.com/questions/59752120
复制相似问题