本文主要为您介绍如何通过表格存储的Python SDK在创建表时添加主键自增列并写入数据。
说明
- 若设置数据表的某一列主键为自增列,在写入一行数据时,这一列主键无需填值,表格存储会自动生成这一主键列的值。
- 自增列的值唯一,且严格递增。
- 每张表最多只允许设置一个主键为自增列。
- 分区键和属性列不允许设置为自增列。
创建表
您可以在创建表的同时添加主键自增列,示例如下:
from tablestore import *
table_name = 'OTSPkAutoIncrSimpleExample'
def create_table(client):
# 创建表,此表包括两个主键:gid,INTEGER类型;uid,INTEGER类型,自增列。
schema_of_primary_key = [('gid', 'INTEGER'), ('uid', 'INTEGER', PK_AUTO_INCR)]
table_meta = TableMeta(table_name, schema_of_primary_key)
table_options = TableOptions()
reserved_throughput = ReservedThroughput(CapacityUnit(0, 0))
client.create_table(table_meta, table_options, reserved_throughput)
print ('Table has been created.')
写入数据
示例如下:
from tablestore import *
table_name = 'OTSPkAutoIncrSimpleExample'
def put_row(client):
# 写入主键:gid为1,uid为自增列。uid列必须设置,否则报错。
primary_key = [('gid',1), ('uid', PK_AUTO_INCR)]
attribute_columns = [('name','John'), ('mobile',15100000000), ('address','China'), ('age',20)]
row = Row(primary_key, attribute_columns)
# 属性列
row.attribute_columns = [('name','John'), ('mobile',15100000000), ('address','China'), ('age',25)]
consumed, return_row = client.put_row(table_name, row)
print ('Write succeed, consume %s write cu.' % consumed.write)
consumed, return_row = client.put_row(table_name, row, return_type = ReturnType.RT_PK)
print ('Write succeed, consume %s write cu.' % consumed.write)
print ('Primary key:%s' % return_row.primary_key)
原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/33924.html