我正在执行一个sql查询,我试图查找dabs中是否已经存在类似的名称,但是它不断发出调度错误,指出不存在这样的列David,请帮忙
const texts = 'David'
tx.executeSql('SELECT * FROM friends WHERE name LIKE '+texts+';', [], (tx, results)
答案 0 :(得分:3)
就这样,您的代码所生成的查询是:
SELECT * FROM friends WHERE name LIKE David;
sqlite确实将未加引号的David
作为列名,因此会出现错误。
您可能想要这个:
SELECT * FROM friends WHERE name LIKE 'David';
LIKE
在右侧没有通配符并没有任何意义,因此可能是以下查询之一,具体取决于您是否要完全匹配
SELECT * FROM friends WHERE name LIKE '%David%';
SELECT * FROM friends WHERE name = 'David';
要生成查询,可以使用以下代码:
"SELECT * FROM friends WHERE name LIKE '%" + texts + "%';"
"SELECT * FROM friends WHERE name = '" + texts + "';"