是否可以设置两个列值,其中一个为“allow_commit_timestamp”?
Is it possible to set two column values with one being `allow_commit_timestamp`?
UPDATE Performances
SET NOTE = "random text",
LastUpdated = PENDING_COMMIT_TIMESTAMP()
WHERE SingerId = 1
AND VenueId = 2
AND EventDate = "2015-10-21"
最好的做法是 batchUpdate
并发送两个查询,最后一个是 PENDING_COMMIT_TIMESTAMP
?
是的,这是可能的,而且在大多数情况下也是更可取的方式。不建议将其拆分为两个语句并使用 batchUpdate
调用执行它们。
唯一的例外是您打算在同一事务期间从提交时间戳列中读取。将 LastUpdated
列设置为 PENDING_COMMIT_TIMESTAMP()
将 make the column unreadable for the remainder of the transaction,因此在这种情况下,稍后设置 LastUpdated
值可能是有意义的。但是请注意,使用单个 batchUpdate
这样做是没有意义的,因为您实际上没有机会尝试从两个更新语句之间的 table 中读取。
UPDATE Performances
SET NOTE = "random text",
LastUpdated = PENDING_COMMIT_TIMESTAMP()
WHERE SingerId = 1
AND VenueId = 2
AND EventDate = "2015-10-21"
最好的做法是 batchUpdate
并发送两个查询,最后一个是 PENDING_COMMIT_TIMESTAMP
?
是的,这是可能的,而且在大多数情况下也是更可取的方式。不建议将其拆分为两个语句并使用 batchUpdate
调用执行它们。
唯一的例外是您打算在同一事务期间从提交时间戳列中读取。将 LastUpdated
列设置为 PENDING_COMMIT_TIMESTAMP()
将 make the column unreadable for the remainder of the transaction,因此在这种情况下,稍后设置 LastUpdated
值可能是有意义的。但是请注意,使用单个 batchUpdate
这样做是没有意义的,因为您实际上没有机会尝试从两个更新语句之间的 table 中读取。