【发布时间】:2011-07-11 23:40:01
【问题描述】:
我正在使用 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)
谁能给点建议?
谢谢!
【问题讨论】:
标签: python postgresql psycopg2