2

假设我在一个表中有一百万行。我想将列中的标志从真翻转为假。我如何用一个语句在扳手中做到这一点?

也就是我要实现下面的DML语句。

更新 mytable set myflag=true where 1=1;

4

2 回答 2

2

Cloud Spanner 目前不支持 DML,但我们正在开发允许您进行批量突变的数据流连接器 (Apache Beam)。

于 2017-04-03T17:58:04.180 回答
1

您可以将此开源 JDBC 驱动程序与标准 JDBC 工具(例如SQuirreLSQL Workbench )结合使用。在此处查看有关如何通过这些工具使用驱动程序的简短教程:http ://www.googlecloudspanner.com/2017/10/using-standard-database-tools-with.html

JDBC 驱动程序支持 DML 和 DDL 语句,因此该语句应该可以开箱即用:

Update mytable set myflag=true

支持在大量行上运行的 DML 语句,但 Cloud Spanner 的底层事务配额继续适用(一个事务中最多 20,000 个突变)。您可以通过设置 AllowExtendedMode=true 连接属性来绕过它(请参阅驱动程序的 Wiki 页面)。这会将一个大更新分成几个较小的更新,并在自己的事务中执行每个更新。您也可以通过将更新语句分成几个不同的部分来自己进行批处理。

于 2017-10-02T17:34:40.090 回答