Maison >développement back-end >Golang >Comment spanner.Mutation comprend quelle ligne mettre à jour

Comment spanner.Mutation comprend quelle ligne mettre à jour

PHPz
PHPzavant
2024-02-13 23:30:091306parcourir

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

L'éditeur PHP Zimo est là pour vous présenter comment comprendre quelle ligne mettre à jour spanner.Mutation. Lorsque vous utilisez spanner.Mutation pour la mise à jour des données, nous devons spécifier les lignes et les colonnes à mettre à jour. Pour mettre à jour une ligne spécifique, vous pouvez utiliser spanner.KeyRange pour spécifier une plage de lignes. Si vous n'avez besoin de mettre à jour qu'une seule ligne, vous pouvez utiliser spanner.KeyRange.withPrefix pour spécifier le préfixe de la ligne. Alternativement, spanner.KeySet peut être utilisé pour spécifier l'ensemble de lignes à mettre à jour. Grâce à ces méthodes, nous pouvons clairement comprendre quelle ligne de données spanner.Mutation souhaite mettre à jour.

Contenu de la question

Extrait de la documentation :

65bed0b31ec07

Comment Spanner comprend-il quelle ligne mettre à jour ? J'ai trouvé qu'il manquait la clause where. Utilise-t-il automatiquement certains champs comme clés (par exemple user_id = "..." implicite) ? where 子句。它是否自动使用某些字段作为键(例如隐式 user_id = "...")?

解决方法

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

Solution de contournement

Cloud Spanner mutera automatiquement la clé primaire de la table en cours de mise à jour. Cela signifie que vous devez inclure toutes les colonnes de la clé primaire dans la mutation Update. Par conséquent, une mutation Update ne mettra à jour qu'une seule ligne (si la ligne n'existe pas, elle renverra une erreur NOT_FOUND).

Cela signifie également que la valeur de la clé primaire de la ligne ne peut pas être mise à jour. A l’inverse, si vous souhaitez « modifier » la valeur de la clé primaire, vous devez supprimer la ligne et insérer une nouvelle ligne.

Voir 🎜https://cloud.google. com/spanner/docs/reference/rpc/google.spanner.v1#mutation🎜 pour en savoir plus sur le fonctionnement des mutations. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer