public sealed class Mutation.Types.Write : IMessage<Mutation.Types.Write>, IEquatable<Mutation.Types.Write>, IDeepCloneable<Mutation.Types.Write>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Cloud Spanner v1 API class Mutation.Types.Write.
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.
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][google.spanner.v1.Mutation.Write.columns]
above. Sending multiple lists is equivalent to sending multiple
Mutations, each containing one values entry and repeating
[table][google.spanner.v1.Mutation.Write.table] and [columns][google.spanner.v1.Mutation.Write.columns]. Individual values in each list are
encoded as described [here][google.spanner.v1.TypeCode].
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis documentation provides reference information for the \u003ccode\u003eMutation.Types.Write\u003c/code\u003e class within the Google Cloud Spanner v1 API, detailing its use in insert, update, insert_or_update, and replace operations.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version available for \u003ccode\u003eMutation.Types.Write\u003c/code\u003e is 5.0.0-beta05, with a range of previous versions listed for access, starting as far back as version 3.5.0.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eMutation.Types.Write\u003c/code\u003e implements several interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, showcasing its integration with Google's Protobuf system and .NET functionality.\u003c/p\u003e\n"],["\u003cp\u003eThe primary components of the \u003ccode\u003eMutation.Types.Write\u003c/code\u003e class are the \u003ccode\u003eColumns\u003c/code\u003e, \u003ccode\u003eTable\u003c/code\u003e, and \u003ccode\u003eValues\u003c/code\u003e properties, which define the structure of the data being written to the Spanner database.\u003c/p\u003e\n"],["\u003cp\u003eThis class can handle writing multiple rows to a table at once, if the \u003ccode\u003eValues\u003c/code\u003e property contains more than one list of values, each row having the same structure based on \u003ccode\u003eColumns\u003c/code\u003e and \u003ccode\u003eTable\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Google Cloud Spanner v1 API - Class Mutation.Types.Write (5.1.0)\n\nVersion latestkeyboard_arrow_down\n\n- [5.1.0 (latest)](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [5.0.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/5.0.0/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [4.6.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.6.0/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [4.5.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.5.0/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [4.4.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.4.0/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [4.3.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.3.0/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [4.2.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.2.0/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [4.1.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.1.0/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [4.0.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.0.0/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [3.15.1](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.15.1/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [3.14.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.14.0/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [3.13.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.13.0/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [3.12.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.12.0/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [3.11.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.11.0/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [3.10.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.10.0/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [3.9.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.9.0/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.8.0/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.7.0/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.6.0/Google.Cloud.Spanner.V1.Mutation.Types.Write)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.5.0/Google.Cloud.Spanner.V1.Mutation.Types.Write) \n\n public sealed class Mutation.Types.Write : IMessage\u003cMutation.Types.Write\u003e, IEquatable\u003cMutation.Types.Write\u003e, IDeepCloneable\u003cMutation.Types.Write\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Cloud Spanner v1 API class Mutation.Types.Write.\n\nArguments to \\[insert\\]\\[google.spanner.v1.Mutation.insert\\], \\[update\\]\\[google.spanner.v1.Mutation.update\\], \\[insert_or_update\\]\\[google.spanner.v1.Mutation.insert_or_update\\], and\n\\[replace\\]\\[google.spanner.v1.Mutation.replace\\] operations. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Mutation.Types.Write \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Mutation](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1.Mutation)[Types](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1.Mutation.Types)[Write](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1.Mutation.Types.Write), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Mutation](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1.Mutation)[Types](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1.Mutation.Types)[Write](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1.Mutation.Types.Write), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Mutation](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1.Mutation)[Types](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1.Mutation.Types)[Write](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1.Mutation.Types.Write), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Spanner.V1](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Spanner.V1.dll\n\nConstructors\n------------\n\n### Write()\n\n public Write()\n\n### Write(Write)\n\n public Write(Mutation.Types.Write other)\n\nProperties\n----------\n\n### Columns\n\n public RepeatedField\u003cstring\u003e Columns { get; }\n\nThe names of the columns in \\[table\\]\\[google.spanner.v1.Mutation.Write.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### Table\n\n public string Table { get; set; }\n\nRequired. The table whose rows will be written.\n\n### Values\n\n public RepeatedField\u003cListValue\u003e Values { get; }\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\\]\\[google.spanner.v1.Mutation.Write.columns\\]\nabove. Sending multiple lists is equivalent to sending multiple\n`Mutation`s, each containing one `values` entry and repeating\n\\[table\\]\\[google.spanner.v1.Mutation.Write.table\\] and \\[columns\\]\\[google.spanner.v1.Mutation.Write.columns\\]. Individual values in each list are\nencoded as described \\[here\\]\\[google.spanner.v1.TypeCode\\]."]]