TL; DR是我无法使用Java删除先前使用upsert创建的行.
基本上我有这样一个表:
CREATE TABLE transactions (
key text PRIMARY KEY,
created_at timestamp
);
Run Code Online (Sandbox Code Playgroud)
然后我执行:
String sql = "update transactions set created_at = toTimestamp(now()) where key = 'test' if created_at = null";
session.execute(sql)
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,行被创建:
cqlsh:thingleme> SELECT * FROM transactions ;
key | created_at
------+---------------------------------
test | 2018-01-30 16:35:16.663000+0000
Run Code Online (Sandbox Code Playgroud)
但是(这是让我发疯的原因)如果我执行:
sql = "delete from transactions where key = 'test'";
ResultSet resultSet = session.execute(sql);
Run Code Online (Sandbox Code Playgroud)
什么都没发生.我的意思是:没有抛出异常而且行仍在那里!
其他一些奇怪的东西:
我的环境:
关于如何解决这个问题的任何想法/建议真的很感激;-)