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

一意性の制約を処理するためにSQLiteUPDATEでORDERBYをシミュレートします

    SQLiteは、ステートメントの終了時やトランザクションの終了時ではなく、行が更新されるたびに制約をチェックするため、問題が発生するのは間違いありません。

    (SQLiteがUPDATEを実装していないという問題に対するこの回避策がわかります 正しく)。 priorityと仮定します 列に負の値はありません。UNIQUEを回避するために、それら(負の値)を一時的なものとして使用できます。 制約エラー:

    UPDATE table1 SET priority = - (priority + 1) WHERE priority > 1 ;
    
    UPDATE table1 SET priority = - priority WHERE priority < 0 ;
    



    1. ランタイムエラー:java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

    2. OracleでGUIDを生成する方法は?

    3. チェック制約内のSQLサブクエリ

    4. MySQLINステートメントのPDOバインディング値