【发布时间】:2021-10-03 13:18:38
【问题描述】:
我需要将写入时间戳作为大量表的表导出的一部分输出,但我完全想不出一种不强制我显式选择语句中的所有列的方法。
而不是能够做到这一点:
SELECT *, writetime(data) AS timestamp FROM dls.licenses;
我必须这样做:
SELECT column1, column2, ... , writetime(data) AS timestamp FROM dls.licenses;
这很不方便,因为这意味着每次任何表的架构发生变化时我都必须更改导出工具。
有没有更好的办法?
编辑:澄清一下,我得到的实际错误如下。错误中语法的呈现方式可能会认为SQL应该没问题:
SELECT *, writetime(id) AS timestamp FROM dls.licenses;
SyntaxException: line 1:8 mismatched input ',' expecting K_FROM (SELECT *[,]...)
编辑 2:这是用于该表的键空间和创建语句:
CREATE KEYSPACE IF NOT EXISTS dls WITH replication = { 'class': 'SimpleStrategy', 'replication_factor': ‚1‘ };
CREATE TABLE IF NOT EXISTS dls.licenses (subscription_id text, id text, key text, data text, PRIMARY KEY (key));
CREATE INDEX IF NOT EXISTS ON dls.licenses (id);
顺便说一句:我正在使用新的 Cassandra 4.0.0 (GA)。
【问题讨论】: