PostgreSQL:将值更新为文本数据类型的一列时出现的问题

时间:2018-08-28 12:50:03

标签: ruby-on-rails ruby postgresql ruby-on-rails-4

我有一个表,其中有一个字段(item_value),它是文本数据类型,我正尝试通过psql更新:

UPDATE table1 SET item_value="{ value:'BOX',id:'2580'}" where id=643

此查询显示

 column "{ value:'BOX',id:'2580'}" does not exist

但是当我从Rails控制台执行此操作时,

t = Table1.find 643
t.item_value = "{ value:'BOX',id:'2580'}"
t.save

t.item_value.class
=> String 

该查询有任何问题吗?与演员表有什么关系

1 个答案:

答案 0 :(得分:5)

之所以发生这种情况,是因为您使用的是"而不是'。尝试使用:

UPDATE table1 SET item_value='{ value:"BOX",id:"2580"}' where id=643

因此,您需要将JSON字符串中的引号更改为"