The values to be written. values can contain more than one
list of values. If it does, then multiple rows are written, one
for each entry in values. Each list in values must have
exactly as many entries as there are entries in columns
above. Sending multiple lists is equivalent to sending multiple
Mutations, each containing one values entry and repeating
table and columns. Individual values in each list are
encoded as described here.
The values to be written. values can contain more than one
list of values. If it does, then multiple rows are written, one
for each entry in values. Each list in values must have
exactly as many entries as there are entries in columns
above. Sending multiple lists is equivalent to sending multiple
Mutations, each containing one values entry and repeating
table and columns. Individual values in each list are
encoded as described here.
The values to be written. values can contain more than one
list of values. If it does, then multiple rows are written, one
for each entry in values. Each list in values must have
exactly as many entries as there are entries in columns
above. Sending multiple lists is equivalent to sending multiple
Mutations, each containing one values entry and repeating
table and columns. Individual values in each list are
encoded as described here.
The values to be written. values can contain more than one
list of values. If it does, then multiple rows are written, one
for each entry in values. Each list in values must have
exactly as many entries as there are entries in columns
above. Sending multiple lists is equivalent to sending multiple
Mutations, each containing one values entry and repeating
table and columns. Individual values in each list are
encoded as described here.
The values to be written. values can contain more than one
list of values. If it does, then multiple rows are written, one
for each entry in values. Each list in values must have
exactly as many entries as there are entries in columns
above. Sending multiple lists is equivalent to sending multiple
Mutations, each containing one values entry and repeating
table and columns. Individual values in each list are
encoded as described here.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Interface Mutation.WriteOrBuilder (6.98.1)\n\nVersion latestkeyboard_arrow_down\n\n- [6.98.1 (latest)](/java/docs/reference/google-cloud-spanner/latest/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.98.0](/java/docs/reference/google-cloud-spanner/6.98.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.97.1](/java/docs/reference/google-cloud-spanner/6.97.1/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.96.1](/java/docs/reference/google-cloud-spanner/6.96.1/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.95.1](/java/docs/reference/google-cloud-spanner/6.95.1/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.94.0](/java/docs/reference/google-cloud-spanner/6.94.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.93.0](/java/docs/reference/google-cloud-spanner/6.93.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.89.0](/java/docs/reference/google-cloud-spanner/6.89.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.88.0](/java/docs/reference/google-cloud-spanner/6.88.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.87.0](/java/docs/reference/google-cloud-spanner/6.87.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.86.0](/java/docs/reference/google-cloud-spanner/6.86.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.85.0](/java/docs/reference/google-cloud-spanner/6.85.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.83.0](/java/docs/reference/google-cloud-spanner/6.83.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.82.0](/java/docs/reference/google-cloud-spanner/6.82.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.80.1](/java/docs/reference/google-cloud-spanner/6.80.1/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.79.0](/java/docs/reference/google-cloud-spanner/6.79.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.77.0](/java/docs/reference/google-cloud-spanner/6.77.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.74.1](/java/docs/reference/google-cloud-spanner/6.74.1/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.72.0](/java/docs/reference/google-cloud-spanner/6.72.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.71.0](/java/docs/reference/google-cloud-spanner/6.71.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.69.0](/java/docs/reference/google-cloud-spanner/6.69.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.68.0](/java/docs/reference/google-cloud-spanner/6.68.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.66.0](/java/docs/reference/google-cloud-spanner/6.66.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.65.1](/java/docs/reference/google-cloud-spanner/6.65.1/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.62.0](/java/docs/reference/google-cloud-spanner/6.62.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.60.0](/java/docs/reference/google-cloud-spanner/6.60.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.58.0](/java/docs/reference/google-cloud-spanner/6.58.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.57.0](/java/docs/reference/google-cloud-spanner/6.57.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.56.0](/java/docs/reference/google-cloud-spanner/6.56.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.55.0](/java/docs/reference/google-cloud-spanner/6.55.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.54.0](/java/docs/reference/google-cloud-spanner/6.54.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.53.0](/java/docs/reference/google-cloud-spanner/6.53.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.52.1](/java/docs/reference/google-cloud-spanner/6.52.1/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.51.0](/java/docs/reference/google-cloud-spanner/6.51.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.50.1](/java/docs/reference/google-cloud-spanner/6.50.1/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.49.0](/java/docs/reference/google-cloud-spanner/6.49.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.25.1](/java/docs/reference/google-cloud-spanner/6.25.1/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.24.0](/java/docs/reference/google-cloud-spanner/6.24.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.23.4](/java/docs/reference/google-cloud-spanner/6.23.4/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.22.0](/java/docs/reference/google-cloud-spanner/6.22.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.21.2](/java/docs/reference/google-cloud-spanner/6.21.2/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.20.0](/java/docs/reference/google-cloud-spanner/6.20.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.19.1](/java/docs/reference/google-cloud-spanner/6.19.1/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.18.0](/java/docs/reference/google-cloud-spanner/6.18.0/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.17.4](/java/docs/reference/google-cloud-spanner/6.17.4/com.google.spanner.v1.Mutation.WriteOrBuilder)\n- [6.14.1](/java/docs/reference/google-cloud-spanner/6.14.1/com.google.spanner.v1.Mutation.WriteOrBuilder) \n\n public static interface Mutation.WriteOrBuilder extends MessageOrBuilder\n\nImplements\n----------\n\n[MessageOrBuilder](https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.MessageOrBuilder.html)\n\nMethods\n-------\n\n### getColumns(int index)\n\n public abstract String getColumns(int index)\n\nThe names of the columns in table to be written.\n\nThe list of columns must contain enough columns to allow\nCloud Spanner to derive values for all primary key columns in the\nrow(s) to be modified.\n\n`repeated string columns = 2;`\n\n### getColumnsBytes(int index)\n\n public abstract ByteString getColumnsBytes(int index)\n\nThe names of the columns in table to be written.\n\nThe list of columns must contain enough columns to allow\nCloud Spanner to derive values for all primary key columns in the\nrow(s) to be modified.\n\n`repeated string columns = 2;`\n\n### getColumnsCount()\n\n public abstract int getColumnsCount()\n\nThe names of the columns in table to be written.\n\nThe list of columns must contain enough columns to allow\nCloud Spanner to derive values for all primary key columns in the\nrow(s) to be modified.\n\n`repeated string columns = 2;`\n\n### getColumnsList()\n\n public abstract List\u003cString\u003e getColumnsList()\n\nThe names of the columns in table to be written.\n\nThe list of columns must contain enough columns to allow\nCloud Spanner to derive values for all primary key columns in the\nrow(s) to be modified.\n\n`repeated string columns = 2;`\n\n### getTable()\n\n public abstract String getTable()\n\nRequired. The table whose rows will be written.\n\n`string table = 1 [(.google.api.field_behavior) = REQUIRED];`\n\n### getTableBytes()\n\n public abstract ByteString getTableBytes()\n\nRequired. The table whose rows will be written.\n\n`string table = 1 [(.google.api.field_behavior) = REQUIRED];`\n\n### getValues(int index)\n\n public abstract ListValue getValues(int index)\n\nThe values to be written. `values` can contain more than one\nlist of values. If it does, then multiple rows are written, one\nfor each entry in `values`. Each list in `values` must have\nexactly as many entries as there are entries in columns\nabove. Sending multiple lists is equivalent to sending multiple\n`Mutation`s, each containing one `values` entry and repeating\ntable and columns. Individual values in each list are\nencoded as described here.\n\n`repeated .google.protobuf.ListValue values = 3;`\n\n### getValuesCount()\n\n public abstract int getValuesCount()\n\nThe values to be written. `values` can contain more than one\nlist of values. If it does, then multiple rows are written, one\nfor each entry in `values`. Each list in `values` must have\nexactly as many entries as there are entries in columns\nabove. Sending multiple lists is equivalent to sending multiple\n`Mutation`s, each containing one `values` entry and repeating\ntable and columns. Individual values in each list are\nencoded as described here.\n\n`repeated .google.protobuf.ListValue values = 3;`\n\n### getValuesList()\n\n public abstract List\u003cListValue\u003e getValuesList()\n\nThe values to be written. `values` can contain more than one\nlist of values. If it does, then multiple rows are written, one\nfor each entry in `values`. Each list in `values` must have\nexactly as many entries as there are entries in columns\nabove. Sending multiple lists is equivalent to sending multiple\n`Mutation`s, each containing one `values` entry and repeating\ntable and columns. Individual values in each list are\nencoded as described here.\n\n`repeated .google.protobuf.ListValue values = 3;`\n\n### getValuesOrBuilder(int index)\n\n public abstract ListValueOrBuilder getValuesOrBuilder(int index)\n\nThe values to be written. `values` can contain more than one\nlist of values. If it does, then multiple rows are written, one\nfor each entry in `values`. Each list in `values` must have\nexactly as many entries as there are entries in columns\nabove. Sending multiple lists is equivalent to sending multiple\n`Mutation`s, each containing one `values` entry and repeating\ntable and columns. Individual values in each list are\nencoded as described here.\n\n`repeated .google.protobuf.ListValue values = 3;`\n\n### getValuesOrBuilderList()\n\n public abstract List\u003c? extends ListValueOrBuilder\u003e getValuesOrBuilderList()\n\nThe values to be written. `values` can contain more than one\nlist of values. If it does, then multiple rows are written, one\nfor each entry in `values`. Each list in `values` must have\nexactly as many entries as there are entries in columns\nabove. Sending multiple lists is equivalent to sending multiple\n`Mutation`s, each containing one `values` entry and repeating\ntable and columns. Individual values in each list are\nencoded as described here.\n\n`repeated .google.protobuf.ListValue values = 3;`"]]