Class Mutation (2.1.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.

Attributes

NameDescription
insert `.mutation.Mutation.Write`
Insert new rows in a table. If any of the rows already exist, the write or transaction fails with error ``ALREADY_EXISTS``.
update `.mutation.Mutation.Write`
Update existing rows in a table. If any of the rows does not already exist, the transaction fails with error ``NOT_FOUND``.
insert_or_update `.mutation.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.
replace `.mutation.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.
delete `.mutation.Mutation.Delete`
Delete rows from a table. Succeeds whether or not the named rows were present.

Inheritance

builtins.object > proto.message.Message > Mutation

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.