以下是使用gocql
驱动程序的查询:
insertQueryString = "INSERT INTO my_table (id_1, id_2, textDetails) " + "VALUES (?, ?, ?) IF NOT EXISTS"
cassandra.Session.Query(insertQueryString,
id1,
id2,
myTextDetails).Exec();
Cassandra 3.0 中的表模式是:
CREATE TABLE IF NOT EXISTS my_table (
id_1 UUID,
id_2 UUID,
textDetails TEXT,
PRIMARY KEY (id_1, id_2)
);
我们有一个INSERT
在多个 Go 例程(http 处理程序)上发起的上述查询的场景,具有相同的列值组合(id_1, id_2)
,然后,
Cassandra 是否确保只有第一个
INSERT
操作成功执行?并使用数据库中INSERT
的现有值组合错误输出后续请求(id_1, id_2)