Cloud Spanner-读取行,但没有返回的列?

时间:2019-06-29 20:39:36

标签: google-cloud-spanner

是否可以使用返回的数据返回列名?

例如https://cloud.google.com/spanner/docs/reads#single_read_methods

def query_data(instance_id, database_id):
    """Queries sample data from the database using SQL."""
    spanner_client = spanner.Client()
    instance = spanner_client.instance(instance_id)
    database = instance.database(database_id)

    with database.snapshot() as snapshot:
        results = snapshot.execute_sql(
            'SELECT SingerId, AlbumId, AlbumTitle FROM Albums')

        for row in results:
            print(u'SingerId: {}, AlbumId: {}, AlbumTitle: {}'.format(*row))

row变量不包含有关列的任何信息吗?

2 个答案:

答案 0 :(得分:1)

execute_sql返回包含字段属性的StreamedResultSethttps://googleapis.github.io/google-cloud-python/latest/spanner/streamed-api.html

答案 1 :(得分:0)

找出问题所在。

当您第一次执行查询然后立即读取字段而没有获得任何行时,那么fields属性将失败而不会发出警告。

您需要读取一行,以便内部参数

  

_meta_data

填充数据。