Python sql:如何为添加的每一行增加一个id?
我希望为添加到sql数据库中的每一新行提供一个id(唯一),而无需明确询问用户。我正在考虑使用Python sql:如何为添加的每一行增加一个id?,python,sql,Python,Sql,我希望为添加到sql数据库中的每一新行提供一个id(唯一),而无需明确询问用户。我正在考虑使用bigint,并将添加的每一行的值与前一行的id进行比较 例如: name id xyz 1 现在,对于要添加到这个表中的另一个数据,比如name='abc',我希望id自动增加到2,然后像下面这样保存所有数据 name id xyz 1 abc 2 我有什么办法可以这样做吗?或者任何其他可以随每一新行递增的数据类型 另外,我在python上使用sql,因此我可以访问
bigint
,并将添加的每一行的值与前一行的id进行比较
例如:
name id
xyz 1
现在,对于要添加到这个表中的另一个数据,比如name='abc',我希望id自动增加到2,然后像下面这样保存所有数据
name id
xyz 1
abc 2
我有什么办法可以这样做吗?或者任何其他可以随每一新行递增的数据类型
另外,我在python上使用sql,因此我可以访问最后一行,然后通过
fetchall()
query向其中添加1,但这似乎不是一种有效的方法。您尝试过sql中的标识吗。自动递增且唯一
查询:-
CREATE TABLE Persons (
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);
如果它已经存在于表中
ALTER TABLE Persons AUTO_INCREMENT=100;
在表中保留列名id,如
ID int NOT NULL AUTO_INCREMENT;
然后用这个方法
previousid=SELECT LAST_INSERT_ID();
primarykey=PK('cu',previousid);
print primarykey; //this will print a key like CU-18-000005
function PK(keycode,last_id)
{
seq=str_pad(last_id, 6, "0", STR_PAD_LEFT);
return strtoupper(keycode).'-'.date('y').'-'.seq;
}
您好,您应该指定您的数据库引擎(MySQL、Postgres、MS SQL)?添加正确的标签。不鼓励仅链接答案。请-移动链接的最重要部分以回答问题。