Class Mutation (3.20.0)

Mutation(mapping=None, *, ignore_unknown_fields=False, **kwargs)

A modification to one or more Cloud Spanner rows. Mutations can be applied to a Cloud Spanner database by sending them in a Commit][google.spanner.v1.Spanner.Commit] call.

This message has oneof_ fields (mutually exclusive fields). For each oneof, at most one member field can be set at the same time. Setting any member of the oneof automatically clears all other members.

.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields

Attributes

NameDescription
insert google.cloud.spanner_v1.types.Mutation.Write
Insert new rows in a table. If any of the rows already exist, the write or transaction fails with error ALREADY_EXISTS. This field is a member of oneof_ operation.
update google.cloud.spanner_v1.types.Mutation.Write
Update existing rows in a table. If any of the rows does not already exist, the transaction fails with error NOT_FOUND. This field is a member of oneof_ operation.
insert_or_update google.cloud.spanner_v1.types.Mutation.Write
Like insert][google.spanner.v1.Mutation.insert], except that if the row already exists, then its column values are overwritten with the ones provided. Any column values not explicitly written are preserved. When using insert_or_update][google.spanner.v1.Mutation.insert_or_update], just as when using insert][google.spanner.v1.Mutation.insert], all NOT NULL columns in the table must be given a value. This holds true even when the row already exists and will therefore actually be updated. This field is a member of oneof_ operation.
replace google.cloud.spanner_v1.types.Mutation.Write
Like insert][google.spanner.v1.Mutation.insert], except that if the row already exists, it is deleted, and the column values provided are inserted instead. Unlike insert_or_update][google.spanner.v1.Mutation.insert_or_update], this means any values not explicitly written become NULL. In an interleaved table, if you create the child table with the ON DELETE CASCADE annotation, then replacing a parent row also deletes the child rows. Otherwise, you must delete the child rows before you replace the parent row. This field is a member of oneof_ operation.
delete google.cloud.spanner_v1.types.Mutation.Delete
Delete rows from a table. Succeeds whether or not the named rows were present. This field is a member of oneof_ operation.

Classes

Delete

Delete(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Arguments to delete][google.spanner.v1.Mutation.delete] operations.

Write

Write(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Arguments to insert][google.spanner.v1.Mutation.insert], update][google.spanner.v1.Mutation.update], insert_or_update][google.spanner.v1.Mutation.insert_or_update], and replace][google.spanner.v1.Mutation.replace] operations.