有没有办法我们可以自动更新列的创建和最后更新/访问的时间戳?
我们可以使用toTimestamp(now())
函数来存储创建时间。但是我们有没有类似 的函数writetime(name)
,用于获取最后修改时间?是否有类似的功能可以读取创建时间和访问时间?
有没有办法让我自动生成和存储所有三个时间戳lastupdated
/lastaccessed
和时间戳?created
有没有办法我们可以自动更新列的创建和最后更新/访问的时间戳?
我们可以使用toTimestamp(now())
函数来存储创建时间。但是我们有没有类似 的函数writetime(name)
,用于获取最后修改时间?是否有类似的功能可以读取创建时间和访问时间?
有没有办法让我自动生成和存储所有三个时间戳lastupdated
/lastaccessed
和时间戳?created
是的,有一个writetime函数,但它只对非主键列进行操作。
aploetz@cqlsh:stackoverflow> SELECT name,description,writetime(description)
FROm bookbyname WHERE name='Patriot Games';
name | writetime(description) | description
---------------+------------------------+------------------------------------------------------------------------------------------------
Patriot Games | 1442340092257821 | Jack Ryan saves England's next king, and becomes the target of an IRA splinter terrorism cell.
Cassandra 不会跟踪上次访问/读取或类似情况。
在 Cassandra 中,最后一次写入获胜,因此最后一次更新和创建将是相同的。但是,如果您有一个您知道已更改的列,而您知道一个未更改的列,您可以获得两者的写入时间,然后您将获得更新和创建时间。