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

UPDATE..SqlAlchemyとPostgreSQLでの制限1

    サブクエリレシピ これを行う正しい方法です。今では、SqlAlchemyを使用してこのクエリを作成するだけで済みます。

    サブクエリから始めましょう:

    sq = ssn.query(Log.id)  \
        .order_by(Log.id.desc())  \
        .limit(1)  \
        .with_for_update()
    

    そして今、それを as_scalar( ) の例を使用して、 update()ドキュメント

    from sqlalchemy import update
    
    q = update(Log)  \
        .values({'analyzed': True})  \
        .where(Log.id == sq.as_scalar())
    

    クエリを印刷して結果を確認します:

    UPDATE logs 
    SET analyzed=:analyzed 
    WHERE logs.id = (
        SELECT logs.id 
        FROM logs ORDER BY logs.id DESC 
        LIMIT :param_1 
        FOR UPDATE
    )
    

    お楽しみください!



    1. mysql-オフセットの問題

    2. LEFTJOINのテーブル名として変数を使用するMYSQLクエリ

    3. MySQL RAND()はどのくらいの頻度で使用できますか? / dev / randomを使用していますか?

    4. SQLServer再帰クエリ