如何通过 CQLSH 命令将字符串(文本)中的换行符(\n)插入到 Cassandra 中?
How to insert a newline(\n) inside a String(text) into Cassandra by CQLSH command?
更新:
如果我通过 python 驱动程序脚本插入同一行,则换行符有效。
session.execute("INSERT INTO ctable" + " (cid, cstring) VALUES (%s, %s)", ('2', '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');
None 以上语句有效,所有 \n 都被视为常规字符。
有人可以帮忙吗?
简答:cqlsh 不以任何方式处理字符串中的转义字符。如果您想插入不可打印的字符,如换行符 \n,请使用适合您语言的 cassandra 驱动程序。有关详细答案,请参阅 discussion for issue CASSANDRA-8790
好吧,如果您在键入字符串时实际按回车键,则可以直接在 CQLSH 中执行此操作。而不是输入字符 '\n' 只需按回车键。 CQLSH 应该显示 3 个点,表示它在新行上添加的内容。
我知道现在回复来不及了,但是把答案留给以后像我这样搜索这个问题的人。
您可以试试这个 SQL,只需输入:
insert into ctable (cid, cstring ) values('2', 'row1
row2');
更新: 如果我通过 python 驱动程序脚本插入同一行,则换行符有效。
session.execute("INSERT INTO ctable" + " (cid, cstring) VALUES (%s, %s)", ('2', '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');
None 以上语句有效,所有 \n 都被视为常规字符。 有人可以帮忙吗?
简答:cqlsh 不以任何方式处理字符串中的转义字符。如果您想插入不可打印的字符,如换行符 \n,请使用适合您语言的 cassandra 驱动程序。有关详细答案,请参阅 discussion for issue CASSANDRA-8790
好吧,如果您在键入字符串时实际按回车键,则可以直接在 CQLSH 中执行此操作。而不是输入字符 '\n' 只需按回车键。 CQLSH 应该显示 3 个点,表示它在新行上添加的内容。
我知道现在回复来不及了,但是把答案留给以后像我这样搜索这个问题的人。
您可以试试这个 SQL,只需输入:
insert into ctable (cid, cstring ) values('2', 'row1
row2');