Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL:如何从两个字段进行搜索?_Mysql_Search - Fatal编程技术网

MySQL:如何从两个字段进行搜索?

MySQL:如何从两个字段进行搜索?,mysql,search,Mysql,Search,我有一个名为optima的表,其中有几个字段,我需要进行一个查询,返回结果,其中field1=a和field2=b 例如,表格 F1 F2 _____ a z v a a b b a 结果必须是: a b 我试图提出这样的疑问 SELECT * FROM `optima` WHERE `F1` LIKE 'a' AND `F2` LIKE 'b'; 但它不返回任何内容。要获得精确匹配,请使用=运算符,例如: select * from `optima` where `F1` =

我有一个名为optima的表,其中有几个字段,我需要进行一个查询,返回结果,其中field1=
a
和field2=
b

例如,表格

F1 F2
_____
a  z
v  a
a  b
b  a
结果必须是:

a  b
我试图提出这样的疑问

SELECT * FROM `optima` WHERE `F1` LIKE 'a' AND `F2` LIKE 'b';

但它不返回任何内容。

要获得精确匹配,请使用
=
运算符,例如:

select *
from `optima`
where `F1` = 'a' and `F2` = 'b';

您需要认真学习SQL基础知识。F1和F2的列类型(和长度)是什么?反勾号或反引号有时是必要的,但您应该避免使用它们。表名不需要反勾号;列名可能需要反勾号的唯一原因是它们是大写的,并且在创建表时用反勾号括起来。是否有反勾号之类的内容?我认为在这种情况下,
LIKE
更准确,因为它逐字符进行比较,并考虑尾随空格。不过,
=
可能会更好,因为尾随空格将被忽略,这可能是问题所在。如果我需要在带有
a,bc
的表中搜索类似的内容:
a,b%
,该怎么办?所以只需使用
like
,而不是
=
?@SergiiRechmp从
optima
中选择*;