0

看来,一旦INSERT运行该子句,我的序列值就会增加,并且不会回滚到以前的数字。有什么办法可以避免增加序列号?

我正在尝试从 CSV 填充表,在尚未添加它们的地方插入行,并且除了返回 ID(如果它们已经添加)之外什么都不做(可能有更好的方法来做到这一点):

cur.execute("INSERT INTO development_status (dst_name) VALUES (%s) ON CONFLICT (dst_name) DO UPDATE SET dst_name = %s RETURNING dst_id;", (status,status,))
        id_of_status = cur.fetchone()[0]
 if len(development_site) > 0:
        cur.execute("INSERT INTO development_site (ds_name,ds_developer,ds_zone,ds_status) VALUES (%s, %s, %s, %s) ON CONFLICT (ds_name) DO UPDATE SET ds_name = %s RETURNING ds_id;", (development_site,id_of_developer,zone,id_of_status,development_site,))
        id_of_site = cur.fetchone()[0]
4

0 回答 0