最佳答案
我在用 Python 和 Psycopg2连接 postgres。
当我插入一行..。
sql_string = "INSERT INTO hundred (name,name_slug,status) VALUES ("
sql_string += hundred_name + ", '" + hundred_slug + "', " + status + ");"
cursor.execute(sql_string)
... 如何得到刚才插入的行的 ID? 尝试:
hundred = cursor.fetchall()
返回一个错误,同时使用 RETURNING id
:
sql_string = "INSERT INTO domes_hundred (name,name_slug,status) VALUES ("
sql_string += hundred_name + ", '" + hundred_slug + "', " + status + ") RETURNING id;"
hundred = cursor.execute(sql_string)
只返回 None
。
更新: currval
也是如此(即使在 postgres 中直接使用这个命令也可以) :
sql_string = "SELECT currval(pg_get_serial_sequence('hundred', 'id'));"
hundred_id = cursor.execute(sql_string)
有人能给点建议吗?
谢谢!