使用官方fusion tables php api并关注the docs,如果我使用,例如:
$fusionsql = "select ROWID, name, email from $docID WHERE ROWID > 1244";
它返回只 ROWID 1244的数据,但没有更多。如果它要返回一行,我预计它将是ROWID 1245。 其他陈述按预期工作。
作为补充奖金,我只是阅读getting started docs错误,或者是否在页面中搜索"在表格中插入新行时发现错误?#34;?它说:
使用特定的ROWID进行POST,在其中传入新行的数据:
,给出的示例代码是:
INSERT INTO <table_id> (<column_name> {, <column_name>}*)
VALUES (<value> {, <value>}*)
我认为ROWID是内部生成的东西?此外,上面的陈述似乎并没有实际的ROWID选项。
编辑:解决方法是在浏览器中打开表格,然后通过交叉引用其他数据手动计算出失败的行号,然后使用,例如{{1在你的查询中。
显然,这是一个PITA,但它让我在紧急情况下前进。仍然想知道为什么&gt;虽然失败了。
感谢。
答案 0 :(得分:1)
根据您链接的API文档,ROWID只能与等式谓词一起使用:
&LT; row_condition&GT;在WHERE子句中使用。语法是:ROWID = '&LT;串GT;'
ROWID - 使用您从之前的SELECT或中获得的行ID 插入。 '&LT;串GT;' - 引号中的文本字符串。如果字符串包含 引号字符,在每个引号字符前面加一个反斜杠(\)。
ROWID是内部生成的,没有保证的含义或顺序。它也是更新或删除现有行的唯一方法,因此上面的文档。