A modification to one or more Cloud Spanner rows. Mutations can be applied to a Cloud Spanner database by sending them in a sessions.commit
call.
JSON representation |
---|
{ // Union field |
operation
. Required. The operation to perform. operation
can be only one of the following:insert
object (
Write
)
Insert new rows in a table. If any of the rows already exist, the write or transaction fails with error ALREADY_EXISTS
.
update
object (
Write
)
Update existing rows in a table. If any of the rows does not already exist, the transaction fails with error NOT_FOUND
.
insertOrUpdate
object (
Write
)
Like 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 insertOrUpdate
, just as when using 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
object (
Write
)
Like insert
, except that if the row already exists, it is deleted, and the column values provided are inserted instead. Unlike insertOrUpdate
, 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
object (
Delete
)
Delete rows from a table. Succeeds whether or not the named rows were present.
Write
Arguments to insert
, update
, insertOrUpdate
, and replace
operations.
JSON representation |
---|
{ "table" : string , "columns" : [ string ] , "values" : [ array ] } |
Fields | |
---|---|
table
|
Required. The table whose rows will be written. |
columns[]
|
The names of the columns in The list of columns must contain enough columns to allow Cloud Spanner to derive values for all primary key columns in the row(s) to be modified. |
values[]
|
The values to be written. |
Delete
Arguments to delete
operations.
JSON representation |
---|
{
"table"
:
string
,
"keySet"
:
{
object (
|
Fields | |
---|---|
table
|
Required. The table whose rows will be deleted. |
keySet
|
Required. The primary keys of the rows within |