如何使用正则表达式向查询添加参数化字符串
我有一个JSON
列,其中可能包含字符串"attribute":"my_value"
(以及其他JSON
属性),这是我必须搜索的查询:
SELECT 1
FROM TABLE
WHERE JSON_COLUMN REGEXP '"attribute":"?"'
execQuery
函数在参数化的字符串中添加撇号,这是运行的查询:
SELECT 1
FROM TABLE
WHERE JSON_COLUMN REGEXP '"attribute":"'my_value'"'
这不是有效的SQL查询,如何搜索此参数以获取与此值匹配的行?
我在orm package中将mysql
用于nodejs
,这是我的用法:
execQuery(MY_QUERY, [param1], (err, data) => {
if (err) {
return reject({
error: 'cannotFetch',
message: err
});
} else {
return resolve(data);
}
})
回答如下:您可以使用JSON_EXTRACT在where子句中使用JSON列
如何使用正则表达式向查询添加参数化字符串
我有一个JSON
列,其中可能包含字符串"attribute":"my_value"
(以及其他JSON
属性),这是我必须搜索的查询:
SELECT 1
FROM TABLE
WHERE JSON_COLUMN REGEXP '"attribute":"?"'
execQuery
函数在参数化的字符串中添加撇号,这是运行的查询:
SELECT 1
FROM TABLE
WHERE JSON_COLUMN REGEXP '"attribute":"'my_value'"'
这不是有效的SQL查询,如何搜索此参数以获取与此值匹配的行?
我在orm package中将mysql
用于nodejs
,这是我的用法:
execQuery(MY_QUERY, [param1], (err, data) => {
if (err) {
return reject({
error: 'cannotFetch',
message: err
});
} else {
return resolve(data);
}
})
回答如下:您可以使用JSON_EXTRACT在where子句中使用JSON列