$queryResults = $this->bigQuery->runQuery($query, ['parameters' => ['id' => $id]]);
$info = $queryResults->info();
var_dump($info);
// var_dump($queryResults);
$isComplete = $queryResults->isComplete();
if ($isComplete) {
exit("Insert. Done!");
}
查询是"插入选择"声明。我直接在bigquery云控制台上运行成功。
当我在这里使用php客户端库时,查询也成功完成,我可以确认它与我直接在google云控制台上运行查询相同。
但是查询的信息显示isComplete false。
array(3) {
["kind"]=>
string(22) "bigquery#queryResponse"
["jobReference"]=>
array(2) {
["projectId"]=>
string(26) "myprojectid"
["jobId"]=>
string(31) "job_OHcckVSSwAI7pHXijmmUqK5H4XE"
}
["jobComplete"]=>
bool(false)
}
$ queryResults-> info();没有错误报告。我怎么能找出为什么它会告诉我isComplete false?
答案 0 :(得分:2)
您可能仍需要运行$queryResults -> reload()
来更新作业状态。与docs中一样:
$isComplete = $queryResults->isComplete();
while (!$isComplete) {
sleep(1); // small delay between requests
$queryResults->reload();
$isComplete = $queryResults->isComplete();
}