是否可以使用 SQL INSERT 将值插入 BYTES 列?

Is it possible to insert a value into a BYTES column using SQL INSERT?

这是我的架构:

CREATE TABLE Library (
  Index INT64 NOT NULL,
  Data BYTES(MAX) NOT NULL,
) PRIMARY KEY(Index);

是否可以使用 SQL INSERT 语句插入到 Data 列?我尝试对数据进行 base64 编码并将其作为字符串传递,希望 Spanner 足够智能以检测 base64,但没有成功。我运气不好吗?我需要使用 Spanner 客户端库编写应用程序吗?

感谢任何input/advice!

您可以将 INSERT INTO (..) SELECT ..FROM_BASE64 函数结合使用来实现。我不确定在这种情况下您使用的是哪个 SQL 客户端,但我只是使用最新版本的 DBeaver:

尝试了以下示例
INSERT INTO Library (Id, Data)
SELECT 1, FROM_BASE64('BAR');

最新版本的 DBeaver 使用 open source Cloud Spanner JDBC driver.

内置了对 Cloud Spanner 的支持