是否可以使用 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 的支持
这是我的架构:
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 的支持