是否可以使用返回的数据返回列名?
例如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
变量不包含有关列的任何信息吗?
答案 0 :(得分:1)
execute_sql
返回包含字段属性的StreamedResultSet
。
https://googleapis.github.io/google-cloud-python/latest/spanner/streamed-api.html
答案 1 :(得分:0)
找出问题所在。
当您第一次执行查询然后立即读取字段而没有获得任何行时,那么fields属性将失败而不会发出警告。
您需要读取一行,以便内部参数
_meta_data
填充数据。