sqlite3に対して「INSERT OR REPLACE」コマンドを実行するたびに、実際に既存のエントリを上書きするのではなく、重複するエントリが作成されます。INSERTまたはREPLACEが重複を作成しています
私は、次のコマンドを使用して、sqlite3の中にテーブルを作成しました:
CREATE TABLE mytable (a INTEGER PRIMARY KEY, b VARCHAR(50), c BOOLEAN, d BOOLEAN, e INTEGER, f TEXT, g TEXT, h INTEGER, i DATETIME);
そして、私はこれを実行している:
$database = new POD("sqlite:mydatabase.db");
$database->prepare("INSERT OR REPLACE INTO mytable (b, c, d, e, f, h, h, i) values(?, ?, ?, ?, ?, ?, ?, ?)")
$database->execute('test', 0, 1, -1, 'test', 'test', 12, strtotime('now'));
私が間違ってやって何ができますか?ありがとう
をそれは右、REPACE REPLACEないと言うのですか?そしてexecuteメソッド呼び出しにかっこがありません。 –
はい、REPLACEと言っていて、かっこがあります。私はコピーして貼り付けていたはずです;) – Sam
クエリに主キー 'a'が含まれていないので、SQLiteはこのデータが新しいデータではないことをどのように知っていますか? –