私はangularJSでWEB-SQLを使用しています。アプリケーションが起動するたびに発生する問題は、アプリケーションのマスターデータをアップロードしようとするとエラーが発生します:UNIQUE制約は失敗しました:存在しない場合、web-sqlでマスターデータを一度だけアップロードしてください
この問題を次のロジックで解決しようとしていますが、これをやるのがベストプラクティスかどうかです。
データベースAPIを処理する際のベストプラクティスを参考にしてください。私のアプリケーションは、私はテーブルが存在するかどうかをチェックするために、このメソッドを呼び出したときに起動する は、ここで私は
function checkTableExist(){
var query = "SELECT * from sqlite_master where type='table' and name = 'test'",
defer = $q.defer();
db.transaction(function(tx){
tx.executeSql(query,[], function(response){
if(typeof(response.rows)){
defer.resolve(false);
}
else{
defer.resolve(true);
}
}, function(){
defer.resolve(false);
});
});
return defer.promise;
}
をチェックしています。
結果がfalseの場合テーブルを作成してテーブルにデータを挿入しています。結果が真であれば、私はテーブルを作成し、これにデータを挿入したくありません。
私はこれを達成できません。
いずれのサポートも大きな助けになります。
ありがとうございました。