gpt4 book ai didi

php - MySQL按两列查找多条记录

转载 作者:行者123 更新时间:2023-11-28 23:28:54 24 4
gpt4 key购买 nike

假设我有一个数组如下(ID => 类型):

$contentIndexes = [
32 => 'news',
40 => 'blog',
68 => 'blog',
109 => 'document',
124 => 'news'
]

和下面的数据库表:

CREATE TABLE `ContentIndex` (
`ID` INT(11) NOT NULL AUTO_INCREMENT,
`ItemID` INT(11) NOT NULL,
`ItemType` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
//...
);

我将如何根据“ItemID”和“ItemType”列的组合检索每个 ContentIndex(最好只使用一个查询)。

使用 WHERE IN 不是一个选项,因为它不会考虑组合:

ContentIndexQuery::create()
->filterByItemID(array_keys($contentIndexes))
->filterByItemType($contentIndexes)
->find();

有什么想法吗?

最佳答案

我不知道 Propel 语法,但基本的 SQL 语法是 OR

WHERE ((ItemID = 32 AND ItemType = 'news')
OR
(ItemID = 40 AND ItemType = 'blog')
OR
(ItemID = 68 AND ItemType = 'blog')
OR
(ItemID = 109 AND ItemType = 'document')
OR
(ItemID = 124 AND ItemType = 'news')
)

关于php - MySQL按两列查找多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38086092/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com