0

如果我有一个数据库,其中有一个名为itemswith的字段'1,2,3,7,15,25,64,346'。是否有使用逗号作为分隔符并获取每个数字并开始新查询并获取该 ID 的信息的功能?像一个foreach但在sql中?

看得那么清楚,却无法用语言表达……

4

6 回答 6

1

您可以使用此查询,

SELECT * FROM TABLE_NAME WHERE COLUMN_NAME in (1,2,3,7,15,25,64,346);
于 2013-08-23T06:29:10.420 回答
1

就在这里。您可以使用命令IN

mysql_query( 'SELECT * FROM `table` WHERE `id` IN ( 1,2,3,4,5 );' );

在哪里 - 在

于 2013-08-23T06:27:44.477 回答
0
$row =  '1,2,3,7,15,25,64,346'; // $row = $field['value']
$arr = explode(',',$row);

foreach($arr as $a) {
  // write your query
}
于 2013-08-23T06:26:28.930 回答
0

似乎您想要这样的数据,其中“源”是具有该列的表

SELECT target.* FROM target
LEFT JOIN source ON FIND_IN_SET(target.id, source.ids_row)
于 2013-08-23T06:33:49.997 回答
0

您可以使用查询SELECT * FROM table_name WHERE id IN ( 1,2,3,4,5 )来查找具有 id 的数据。

无需分隔值。这将为您提供所需的结果。

于 2013-08-23T06:27:44.890 回答
0

有一种方法可以执行“SQL foreach”。使用 PhP 来做

此外,拥有这样的字段意味着您的数据库未标准化。你应该看看关系数据库规范化,否则你的数据库越大,你的问题就会越大。

于 2013-08-23T06:28:14.403 回答