通过java代码创建一个表的DDL语句失败了

问题描述 投票:0回答:1

原因是:com.google.cloud.spanner.SpannerException.FAILED_PRECONDITION: DDL-statements not allowed inside readwrite transaction: FAILED_PRECONDITION: DDL-statements are not allowed inside a readwrite transaction.

谁能强调一下云spanner的行为?我无法理解为什么这个在spanner中没有得到更新。

cloud google-cloud-spanner
1个回答
1
投票

您不能在读写事务中使用 DDL 语句(例如创建一个表),只允许使用 DML 语句(查询、更新)。

要在Java客户端执行DDL语句,你可以使用SingleUseTransaction。https:/github.comgoogleapisjava-spannerblobd617fb61eb0bba970c7cf4f43a4d50b54eb0f521google-cloud-spannersrcmainjavacomgooglecloudspannerconnectionSingleUseTransaction.java#L250。.

© www.soinside.com 2019 - 2024. All rights reserved.