0
IonicとCordova SQLiteでアプリケーションを開発しています。アプリケーションは、データがsqliteに存在しない場合はsqliteにデータを挿入しますが、sqliteにデータが存在する場合は挿入されます。その後、アプリケーションは古いデータを置き換えます。以下は私のコードです。しかし、私はsqliteデータベースにデータを挿入することはできません。Ionic Cordova SQLite、存在しない場合はデータを挿入、データが存在する場合は古いデータを置換
データの挿入に
db = window.openDatabase("chatChannel.db", "1", "Demo SQLite Test", "2000");
$cordovaSQLite.execute(db, "CREATE TABLE IF NOT EXISTS chat_channel(id interger primary key, channel_name text unique, last_text text)")
var query = "INSERT INTO chat_channel (channel_name, last_text) VALUES(?,?) ON DUPLICATE KEY UPDATE (last_text) VALUES (?)";
$cordovaSQLite.execute(db, query, [channel, $scope.messageContent], [$scope.messageContent]);
をデータベースを作成します。私は、データがデータベースに存在した場合、レコードはSQLiteのデータベースおよび更新データ内に存在しない場合はコルドバのsqliteにデータを挿入する方法を知っているかもしれません。
あなたはCHANNEL_NAMEが主キーの場合は仕事とあなたのケースでは、要求(に関与一意キーまたは主キーを持っている必要がありますしかし、それは正しく動作するために( https://www.sqlite.org/lang_insert.html)REPLACE INTO chat_channel (channel_name, last_text) VALUES(?,?)
をREPLACE使用することができます
は機能しません。私がしたいのは、channel_nameがsqliteデータベースで利用可能な場合、データベース内のlast_textを置き換えますが、channel_nameがデータベースにない場合は、データベースに新しいデータを挿入します。 –
問題が解決しました。ありがとう –
答えが受け入れられました –