-1
tx.executeSql("SELECT * FROM Routes WHERE id_object = 0", [], 
function (tx, result) 
{ 
alert('You already added'); 
},
function (tx, error) { 
tx.executeSql('INSERT INTO Routes (id_object) VALUES (0)');             
alert('add successfull')} ) 
}  

の結果セットSELECT * FROM Routes WHERE id_object = 0が空の場合、実行する必要がありますtx.executeSql('INSERT INTO Routes (id_object) VALUES (0)');

4

1 に答える 1

1

id_object一意ですか (すなわち、主キーまたは宣言されていUNIQUEますか)? もしそうなら、あなたは簡単に

INSERT OR IGNORE INTO Routes (id_object) VALUES (0);

id_object列を一意にできない場合は、(更新または挿入) ステートメントと呼ばれることがあるものが必要ですUPSERT。SQLite はこれを直接サポートしていませんが、トリガーを組み合わせることで実現できる可能性があります。

最も簡単な方法は、SQL ではなくプログラムのロジックでテストを行うことです。

SELECT COUNT(*) FROM Routes WHERE id_object = 0"

結果が 0 の場合は、挿入を行います。

于 2013-05-15T21:00:37.683 に答える