sql >> データベース >  >> RDS >> PostgreSQL

Python / postgres / psycopg2:挿入されたばかりの行のIDを取得

    cursor.execute("INSERT INTO .... RETURNING id")
    id_of_new_row = cursor.fetchone()[0]
    

    また、値を含むSQL文字列を手動で作成しないでください。値を個別に渡すことができ(そしてそうすべきです!)、エスケープする必要がなくなり、SQLインジェクションが不可能になります:

    sql_string = "INSERT INTO domes_hundred (name,name_slug,status) VALUES (%s,%s,%s) RETURNING id;"
    cursor.execute(sql_string, (hundred_name, hundred_slug, status))
    hundred = cursor.fetchone()[0]
    

    詳細については、psycopgドキュメントを参照してください:http://initd.org/psycopg/docs/usage.html#passing-parameters-to-sql-queries



    1. Spring Data JPA + Hibernate Skip Locked rows(PostgreSQL)

    2. 2日前として取得されたJava1.7.0で実行されているSQL-Server(MSSQL-JDBC 3.0)の日付列

    3. MySQLINTの意味

    4. MySQL GaleraCluster4.0をAmazonAWSEC2にデプロイする