本页面介绍如何使用变更插入、更新和删除数据。 变更表示插入、更新和删除等一系列操作,Spanner 将这些操作以原子方式应用于数据库中不同的行和表。变更旨在用于写入数据。它们无法读取表中的数据。许多更新操作必须先读取现有数据,然后才能执行修改。对于这些应用场景,您必须使用读写事务,以便 Spanner 在同一原子操作中读取行,然后应用变更。
虽然您可以使用 gRPC 或 REST 提交变更,但更常见的做法是通过客户端库访问 API。
如果您需要提交大量盲写,但不需要原子事务,则可以使用批量写入来批量修改 Spanner 表。如需了解详情,请参阅使用批量写入修改数据。
在表中插入新行
C++
您可以使用 InsertMutationBuilder() 函数写入数据。Client::Commit() 会向表中添加新行。单个批处理中的所有插入均以原子方式应用。
以下代码演示了如何写入数据:
C#
您可以使用 connection.CreateInsertCommand() 方法插入数据,此方法会创建一个新的 SpannerCommand 以将行插入表中。SpannerCommand.ExecuteNonQueryAsync() 方法将向表中添加新行。
以下代码演示了如何插入数据: