首页 > 解决方案 > 通过java代码创建表的DDL语句失败

问题描述

原因:com.google.cloud.spanner.SpannerException:FAILED_PRECONDITION:读/写事务中不允许使用 DDL 语句。

有人可以突出云扳手的行为吗?我无法理解为什么这在扳手中没有得到更新

标签: cloudgoogle-cloud-spanner

解决方案


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

要使用 Java 客户端执行 DDL 语句,您可以使用 SingleUseTransaction:https ://github.com/googleapis/java-spanner/blob/d617fb61eb0bba970c7cf4f43a4d50b54eb0f521/google-cloud-spanner/src/main/java/com/google/cloud/spanner /connection/SingleUseTransaction.java#L250


推荐阅读