在单个事务中将行插入到交错表中

时间:2017-10-08 15:36:32

标签: google-cloud-platform google-cloud-spanner

我的表层次结构如下

Table A - Root level
     Table B - Child of A
     Table C - Child of A
     Table D - Child of A

我在一个Commit事务中插入所有相关的行。 insert语句的顺序如下。因此,根表的insert语句是列表中的最后一个。在这种情况下,我收到错误"Row [*******] in table A was already created in this transaction.

   -- Insert  B
   -- Insert  C
   -- Insert  D
   -- Insert  A

我必须以这样一种方式更改插入顺序:Root Table行首先在列表中排除错误。

显然,它表明Commit语句中insert语句的顺序非常重要,特别是对于interleaved表。但是,我无法在任何文件中找到这一点。如果有人在某处记录,有人可以指点我吗?

0 个答案:

没有答案