Python 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,因此我可以访问

我希望为添加到sql数据库中的每一新行提供一个id(唯一),而无需明确询问用户。我正在考虑使用
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)?添加正确的标签。不鼓励仅链接答案。请-移动链接的最重要部分以回答问题。