更新: 如果我通过python驱动程序脚本插入相同的行,则换行符正在工作。
session.execute(" INSERT INTO ctable" +"(cid,cstring)VALUES(%s,%s)",(' 2&# 39;,' row1 \ nrow2'))
仍然不明白为什么CQLSH命令不起作用。
原始问题: 我试图通过CQLSH命令在Cassandra中插入一个非常长的字符串,并添加一个' \ n'在显示时将字符串分成两行。
我试过
insert into ctable (cid, cstring ) values('2', 'row1\nrow2');
insert into ctable (cid, cstring ) values('2', 'row1\\nrow2');
insert into ctable (cid, cstring ) values('2', 'row1\r\nrow2');
上述陈述均无效,所有 \ n 均被视为常规字符。 有人可以帮忙吗?
答案 0 :(得分:4)
简短回答:cqlsh不以任何方式处理字符串中的转义字符。如果要插入不可打印的字符(如换行符\ n),请使用适用于您的语言的cassandra驱动程序。如需长篇答案,请参阅discussion for issue CASSANDRA-8790
答案 1 :(得分:2)
如果您在键入字符串时实际按Enter键,则可以直接在CQLSH中执行此操作。而不是输入字符'\ n'只需按Enter键。 CQLSH应该显示3个点,表示它在新行上的添加内容。
我知道回复已太晚了,但是对于像我这样将来会搜索这个问题的人来说,这个答案就在这里。
答案 2 :(得分:0)
您可以尝试使用此SQL,只需使用Enter键即可:
insert into ctable (cid, cstring ) values('2', 'row1
row2');