0

我最近CREATE TABLEcqlsh控制台中创建了一个列族。

我有以下列族;

CREATE TABLE user (
  id timeuuid PRIMARY KEY,
  balance decimal,
  is_free boolean,
  player_id bigint,
)

我想插入以下类型的数据;

{
    "player_id": 104,
    "balance": "0.00",
    "is_free": false,
    "bonus": "3+3+3"
}

当我从cqlsh控制台插入时,插入如下;

INSERT INTO keyspace.user (player_id, balance,is_free,bonus, id) 
VALUES (104,0.00,'3+3+3',67c5cb00-d814-11e2-9e13-59eb8e4538e5)

id 是由生成的UUID::uuid1()->string

当我尝试从 插入时cqlsh,它没有给出错误。但是,在 phpcassa 中,它给出了以下错误:

Expected key 'ID' to be present in WHERE clause for 'users'

我已经将客户端的 cql 版本设置为 3.0.0

$pool->get()->client->set_cql_version("3.0.0");

我已经尝试像这样插入 timeuuid 字段'67c5cb00-d814-11e2-9e13-59eb8e4538e5'

顺便说一句,执行var_dump的变量$cql如下;

string 'INSERT INTO keyspace.user (player_id,balance,is_free,bonus,id) VALUES (104,0.00,false,'3+3+3','ca256040-d819-11e2-ae08-f78171d975c3')' 

这里有什么问题 ?

4

1 回答 1

0

execute_cql_query()函数似乎在 cql_version 3.0.0 中不起作用

虽然 cql 3 支持在 phpcassa 中不是官方的,但execute_cql3_query()通过使用以下代码,功能对我来说工作稳定且运行良好;

$this->_connection_pool->get()->client->execute_cql3_query($cql, ConsistencyLevel::ONE);

以下在哪里$cql

string 'INSERT INTO keyspace.user (player_id,balance,is_free,bonus,id)
        VALUES (104,0.00,false,'3+3+3',12128260-d8ea-11e2-b5b3-0be38f9377b6)'
于 2013-06-19T16:09:21.010 回答