我有以下查询,用于从日语词典中选择词汇表。
SELECT * FROM dictionary
WHERE from_local = 1
AND (word like '%後%' or reading like '%後%')
在HeidiSQL中运行该程序,它可以按预期运行。我觉得这可能是一个字符集问题,但如果是这种情况,我认为它根本不会起作用。 (请参见屏幕截图)
当我尝试在Node.js应用程序中运行此查询时,出现了我的问题。结果返回空。
我正在使用npm's mysql library。 dbQuery方法是我创建的辅助函数(Pastebin link)
import { dbQuery } from '../db'
const search = async(query) => {
try {
let sql = 'SELECT * FROM dictionary WHERE'
sql += ' from_local = ? AND'
sql += ' (word = ? OR reading = ?)'
const params = [1, '%'+query+'%', '%'+query+'%']
console.log('dictionary DB', {query, sql, params})
return await dbQuery(sql, params)
}
catch(err) {
console.log('search Error', err)
}
}
答案 0 :(得分:0)
灵魂我很蠢
我忘了在查询中将=更改为LIKE