如何在单个查询中获取与提供的id对应的所有“name”列?
假设我有一个这样的php数组$ids = [ '1', '3', '7', '24', ... ];那么,是否可以在下表中$ids[i]='id'的位置获取'name',所有这些都在一个查询中,或者我需要使用for循环?

CREATE TABLE `services` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL DEFAULT '',
  `description` varchar(100) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`) USING BTREE
)

我在和CodeIgniter一起工作。

最佳答案

您可以使用where_in进行此操作

$ids = [ '1', '3', '7', '24', ... ];
$this->db->select('name');
$this->db->from('services');
$this->db->where_in('id', $ids);

关于php - MySql在单个查询中为所有提供的X选择select field_1,其中X = field_2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32449566/

10-09 07:59
查看更多