在我的数据库表中,我有 6 列 id(auto)、title、news、image、type 我写了这个查询。
select id,title,image
from add_news
where FIND_IN_SET('Travel','Music',type)
ORDER BY id DESC
我收到此错误
Incorrect parameter count in the call to native function 'FIND_IN_SET'
在我的数据库表中,我有 6 列 id(auto)、title、news、image、type 我写了这个查询。
select id,title,image
from add_news
where FIND_IN_SET('Travel','Music',type)
ORDER BY id DESC
我收到此错误
Incorrect parameter count in the call to native function 'FIND_IN_SET'
我猜这type
是一个逗号分隔的列表。这是一种非常糟糕的数据格式,您应该有一个单独的表,每种类型和文章只有一行。
但是,给定格式,正确的语法是:
select id, title, image
from add_news
where find_in_set('Travel', type) > 0 or
find_in_set('Music', type) > 0
order by id desc;
使用IN运算符而不是FIND_IN_SET()
试试这个:
SELECT A.id, A.title, A.image
FROM add_news A
WHERE A.type IN ('Travel', 'Music')
ORDER BY A.id DESC