Rumah >pembangunan bahagian belakang >Golang >Cara sepana.Mutasi memahami baris mana yang hendak dikemas kini

Cara sepana.Mutasi memahami baris mana yang hendak dikemas kini

PHPz
PHPzke hadapan
2024-02-13 23:30:091303semak imbas

spanner.Mutation 如何理解要更新哪一行

Editor PHP Zimo di sini untuk memperkenalkan kepada anda cara memahami baris mana yang hendak dikemas kini sepana.Mutasi. Apabila menggunakan sepana.Mutasi untuk kemas kini data, kita perlu menentukan baris dan lajur untuk dikemas kini. Untuk mengemas kini baris tertentu, anda boleh menggunakan spanner.KeyRange untuk menentukan julat baris. Jika anda hanya perlu mengemas kini satu baris, anda boleh menggunakan spanner.KeyRange.withPrefix untuk menentukan awalan baris. Sebagai alternatif, spanner.KeySet boleh digunakan untuk menentukan set baris yang akan dikemas kini. Melalui kaedah ini, kita dapat memahami dengan jelas baris sepana data yang mana. Mutasi ingin dikemas kini.

Kandungan soalan

Dari dokumentasi:

65bed0b31ec07

Bagaimanakah sepana memahami baris yang hendak dikemas kini? Saya mendapati ia tiada klausa where. Adakah ia secara automatik menggunakan medan tertentu sebagai kunci (cth. tersirat user_id = "...")? where 子句。它是否自动使用某些字段作为键(例如隐式 user_id = "...")?

解决方法

Cloud Spanner 将自动使用突变正在更新的表的主键。这意味着您必须在 Update 突变中包含主键的所有列。因此,一个 Update 突变也只会更新一行(如果该行不存在,它将返回 NOT_FOUND

Penyelesaian

Cloud Spanner akan memutasi kunci utama jadual yang sedang dikemas kini secara automatik. Ini bermakna anda mesti memasukkan semua lajur kunci utama dalam mutasi Kemas Kini. Oleh itu, mutasi Update hanya akan mengemas kini satu baris (jika baris itu tidak wujud, ia akan mengembalikan ralat NOT_FOUND).

Ini juga bermakna nilai kunci utama baris tidak boleh dikemas kini. Sebaliknya, jika anda ingin "menukar" nilai kunci utama, anda perlu memadamkan baris dan memasukkan baris baharu.

Lihat 🎜https://cloud.google. com/spanner/docs/reference/rpc/google.spanner.v1#mutation🎜 untuk mengetahui lebih lanjut tentang cara mutasi berfungsi. 🎜

Atas ialah kandungan terperinci Cara sepana.Mutasi memahami baris mana yang hendak dikemas kini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam