phpcassa在cql执行时出错
我最近在phpcassa在cql执行时出错,php,cassandra,phpcassa,Php,Cassandra,Phpcassa,我最近在cqlsh控制台中使用createtable创建了一个列族 我有以下专栏家庭 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+
cqlsh
控制台中使用createtable
创建了一个列族
我有以下专栏家庭
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)
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')'
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)'
Id由UUID::uuid1()->字符串生成
当我尝试从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'
顺便说一下,执行的变量$cql
的var\u dump
如下所示:
INSERT INTO keyspace.user (player_id, balance,is_free,bonus, id)
VALUES (104,0.00,'3+3+3',67c5cb00-d814-11e2-9e13-59eb8e4538e5)
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')'
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)'
这里有什么问题?execute\u cql\u query()
函数在cql\u版本3.0.0中似乎不起作用
虽然在phpcassa中cql3支持不是官方的,execute\u cql3\u query()
函数通过使用以下代码对我来说运行稳定且良好
$this->_connection_pool->get()->client->execute_cql3_query($cql, ConsistencyLevel::ONE);
其中,$cql
如下所示:
INSERT INTO keyspace.user (player_id, balance,is_free,bonus, id)
VALUES (104,0.00,'3+3+3',67c5cb00-d814-11e2-9e13-59eb8e4538e5)
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')'
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)'