首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Python对包含JSON列的表测试Postgresql查询

使用Python对包含JSON列的表测试Postgresql查询
EN

Stack Overflow用户
提问于 2020-01-15 21:07:57
回答 1查看 72关注 0票数 1

查询示例:

代码语言:javascript
运行
复制
SELECT error->>'message' as message
FROM error_cases

实际上,我的查询要复杂得多,我希望确保将来的代码更改不会破坏该查询输出的数据。我想将此查询的结果与我已有的一些特定输出进行比较。我正在使用testing.postgresql库创建临时数据库,运行查询,保存输出并销毁数据库。

我的查询使用Postgresql ->>表示法。我得到了错误:

代码语言:javascript
运行
复制
psycopg2.errors.UndefinedFunction: operator does not exist: text ->> unknown

为了重现,首先我创建了一个表:

代码语言:javascript
运行
复制
            cur.execute('CREATE TABLE error_cases (error TEXT NOT NULL)')

然后我插入数据:

代码语言:javascript
运行
复制
cur.execute('INSERT INTO error_cases 
             VALUES ('{"message": "someMessage"}')

并选择:

代码语言:javascript
运行
复制
select (error->>'message') as message from error_cases

我已经查看了sqlalchemy来查询数据,但问题是我想测试我拥有的这个特定查询。在用于检索JSON的sqlalchemy中,我不能使用Postgresql表示法,它在我的查询中。

-是否有其他方法可以在使用testing.postgresql创建的数据库上运行包含->>运算符的查询

EN

回答 1

Stack Overflow用户

发布于 2020-01-15 21:53:43

我刚刚找到了这个问题,这是非常基本的-应该是:

CREATE TABLE error_cases (error JSONB NOT NULL)代替

CREATE TABLE error_cases (error TEXT NOT NULL)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59752120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档