如何查看查询结果是否为空

How to check if query result is empty

本文关键字:是否 结果是 结果 何查看 查询      更新时间:2023-09-26
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)');

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,执行插入。