sqlite选择没有这样的专栏

时间:2019-02-12 14:20:43

标签: sql sqlite

我正在执行一个sql查询,我试图查找dabs中是否已经存在类似的名称,但是它不断发出调度错误,指出不存在这样的列David,请帮忙

const texts = 'David'
tx.executeSql('SELECT * FROM friends WHERE name LIKE '+texts+';', [], (tx, results)

1 个答案:

答案 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 + "';"