0
我插入一條記錄到亞馬遜紅移表從的Python 2.7使用psycopg2庫,我想回去自動生成插入行的主ID。獲取插入行的自動ID爲紅移表使用psycopg2在Python
我已經嘗試了平時的方法,我可以使用谷歌搜索發現這裏或其他網站,如:
conn=psycopg2.connect(conn_str)
conn.autocommit = True
sql = "INSERT INTO schema.table (col1, col2) VALUES (%s, %s) RETURNING id;"
cur = conn.cursor()
cur.execute(sql,(val1,val2))
id = cur.fetchone()[0]
我收到cur.execute行錯誤:
ProgrammingError: syntax error at or near "RETURNING"
有誰知道如何解決這個問題或完成相同的事情?
我不得不使用psycopg2在我的代碼
這就是我想的,謝謝@Femi – Zac
可悲的是,這不是真的。我在我的案例中嘗試了Max(id)方法,但紅移不會按順序遞增標識列值..i.e。它可以在生成的ID之間留下空隙。新生成的id保證是唯一的,但不一定高於Max(id),它可以低於。例如。當前在表上的id可以是1,2,6,7,8,並且插入新記錄,它可以被賦予唯一但不超過max(id)的3的id。 –
@ShrikantPrabhu,謝謝指點。 [本文](http://www.sqlhaven.com/identity-column-seed-step-with-insert-statements/)調查此問題。可能最簡單的嘗試就是使用'IDENTITY(1,1)',但我不確定它是否有幫助。 實際上不知道如何使用Redshift的缺乏關於新插入記錄的信息。 – MarSoft