0

オフラインストレージを使用するプロジェクトの場合、IDの主キーと、日付を保持する一意のフィールドを使用してデータベースを作成しました。

エントリを削除すると、削除したエントリと同じ日付で新しいエントリを作成できません。

そのエントリを削除するときにインデックスから日付を取得するにはどうすればよいですか?

これが私がテーブルを作成する方法です:

CREATE TABLE IF NOT EXISTS userdata (id INTEGER PRIMARY KEY ASC, entrydate DATE UNIQUE, strength, comments

DBサーバーに、同じ値が再び解放されたらすぐに同じ値を再び使用できるようにするために、何かを追加する必要があるのではないかと思います。たぶん、SQLiteが内部レコードを更新する、ある種の更新を実行する必要があります。

4

1 に答える 1

0

ここにはいくつかの可能性があると思います。

  1. 削除ステートメントはコミットされていないトランザクションにあります。したがって、挿入を試みる前に、一意の値が実際にテーブルから削除されていません。

  2. 削除する値と挿入する新しい値は、実際には同じ値ではありません。選択を実行し、挿入しようとしている値が実際に使用可能であることを確認します。

  3. インデックスが破損しているため、インデックスを再作成する必要があります

于 2012-06-01T17:55:43.900 に答える