小编J. *_*Doe的帖子

在具有多个条件的一个查询中选择多行

我可以使用以下内容选择具有一个条件的多行:

SELECT `Col`, `Col2` FROM `Table` WHERE `Col3` IN (?, ?, ?, ?, ?);
# This selects 5 rows
Run Code Online (Sandbox Code Playgroud)

如果有多个条件(所有整数等于运算),如何做到这一点?

查询需要检查三个条件,所有这三个条件构成了复合主键。

单个查询将选择 10 到 100 行(尽管大多数情况下只有 10 行)——它在性能方面必须很快。这就是为什么使用多个查询不是一个好主意。

CREATE TABLE声明是:

CREATE TABLE `Table Name` (
  `X` smallint(6) unsigned NOT NULL,
  `Y` smallint(6) unsigned NOT NULL,
  `Z` smallint(6) unsigned NOT NULL,
  `Data` varchar(2048) NOT NULL DEFAULT '',
  PRIMARY KEY (`X`,`Y`,`Z`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

对于多个查询,可以这样做:

SELECT `One`, `Two` FROM `Table` WHERE `X` = ? AND `Y` = ? AND …
Run Code Online (Sandbox Code Playgroud)

mysql select

7
推荐指数
1
解决办法
5万
查看次数

标签 统计

mysql ×1

select ×1