MySQL / NodeJS选择在哪里/喜欢日语字符

时间:2019-02-25 06:32:51

标签: mysql node.js heidisql

我有以下查询,用于从日语词典中选择词汇表。

SELECT * FROM dictionary WHERE from_local = 1 AND (word like '%後%' or reading like '%後%')

在HeidiSQL中运行该程序,它可以按预期运行。我觉得这可能是一个字符集问题,但如果是这种情况,我认为它根本不会起作用。 (请参见屏幕截图)

HeidiSQL screenshot

当我尝试在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)
    }
}

1 个答案:

答案 0 :(得分:0)

灵魂我很蠢

我忘了在查询中将=更改为LIKE