我是Cassandra的新手。我创建了一个表,我在其中插入了一些数据,现在我想从中选择数据,在输出中,我想要一些计算列。
我创建了一个用户定义的函数concat
,它连接2个字符串并返回结果。然后我注意到当我在SELECT语句中使用它时,此函数正确显示数据。但是当我在UPDATE语句中使用它时它不起作用:
即,这有效;
select concat(prov,city), year,mnth,acno,amnt from demodb.budgets;
但这不是;
update demodb.budgets set extra=concat(prov,city) where prov='ON';
此外,如果我们只是将一个列的值分配给另一个相同类型的列(没有任何计算),UPDATE也不起作用,如下所示;
update demodb.budgets set extra=city where prov='ON';
此外,即使是简单的算术计算也无法在Update语句中使用;
也就是说,这也不起作用;
update demodb.budgets set amnt = amnt + 20 where prov='ON';
此处amnt
是一个简单的双类型列。
(当我看到这个;我所能做的就是几乎不拉我的头发说,我不能和Cassandra一起工作,如果它不能做简单的算术,我不想要它)
有人可以帮助我如何实现所需的更新?