【问题标题】:Is it possible to insert a value into a BYTES column using SQL INSERT?是否可以使用 SQL INSERT 将值插入 BYTES 列?
【发布时间】:2020-08-02 01:51:59
【问题描述】:

这是我的架构:

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

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

感谢您的任何意见/建议!

【问题讨论】:

    标签: google-cloud-spanner


    【解决方案1】:

    您可以通过将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 的支持。

    【讨论】:

    • @DanWebb 很高兴听到它奏效了!您是否介意接受答案,以便其他人如果有相同或相似的问题也更容易找到它?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多