【发布时间】:2018-09-25 15:54:46
【问题描述】:
我有用户定义的类型和 Cassandra 中的表格:
CREATE TYPE message (
txt text,
pub_date text
);
CREATE TABLE user_messages(
username text,
messages list<frozen <message>>,
PRIMARY KEY (username)
);
我正在尝试通过Python代码将数据插入表中:
session.execute('''update user_messages set messages = {txt :'''+ '"'+request.json.get('text') +'"'+''',pub_date:'''+ str(int(time.time())) +'''} where username=''' + username)
但是对于 txt 字段的输入,它无法正常工作:“这是我的新推文”。 错误的控制台输出是:
SyntaxException: <Error from server: code=2000 [Syntax error in CQL query] message="line 1:64 no viable alternative at input ',' (...set messages = {txt :["This is my new twee]t",...)">
如果我将输入 txt 字段设置为更简单的字段,例如:“tweet”,那么错误是
SyntaxException: <Error from server: code=2000 [Syntax error in CQL query] message="line 1:49 no viable alternative at input ',' (...set messages = {txt :["twee]t",...)">
我错过了什么吗? 有没有其他方法可以将数据插入用户定义的数据类型? 我也尝试使用 INSERT 查询,但失败了。所以我尝试使用 UPDATE 命令。请给我一些解决方案。
【问题讨论】: