【发布时间】:2016-08-10 21:41:33
【问题描述】:
我想在 Teradata 中创建一个在 ID 列中使用自动增量的表。该代码有效,但我只是不知道为什么 ID 以 100001、100002.. 等开头,尽管声明了 start with 1 increment by 1。
这是我的代码:
cur = connection.cursor()
创建表
create_stmt = """CREATE TABLE my_table,
NO FALLBACK,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT
(
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 NO CYCLE),
word VARCHAR(500) CHARACTER SET UNICODE,
country VARCHAR(50)
)
PRIMARY INDEX (id);"""
cur.execute(create_stmt)
插入表格
insert_stmt = """INSERT INTO my_table (word,country) VALUES(?,?);"""
mydata=("hello","USA")
my_query=cur.execute(insert_stmt,my_data)
全选测试
sel_all_stmt="sel * from my_table"
cur.execute(sel_all_stmt)
result = cur.fetchall()
我运行了几次插入语句,看看自动增量是什么样的,这就是我得到的:
[(100001, u'hello', u'USA'), (1, u'hello', u'USA'), (200001, u'hello', u'USA'), (400001, u'hello', u'USA'), (300001, u'hello', u'USA')]
知道为什么 id 这么长吗?
【问题讨论】: