Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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/5/sql/83.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/1/list/4.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_Sql_Database - Fatal编程技术网

Mysql 如何检查数据库中的数据是否存在,而不考虑列名?

Mysql 如何检查数据库中的数据是否存在,而不考虑列名?,mysql,sql,database,Mysql,Sql,Database,我有一个表,有四列,每列包含一封电子邮件。我想检查数据是否存在于四列中的任何一列中,而不执行特定的列查询,我的意思是 SELECT * FROM 'table_name' WHERE 'column_1'='data'; SELECT * FROM 'table_name' WHERE 'column_2'='data'; SELECT * FROM 'table_name' WHERE 'column_3'='data'; SELECT * FROM 'table_name' WHERE 'c

我有一个表,有四列,每列包含一封电子邮件。我想检查数据是否存在于四列中的任何一列中,而不执行特定的列查询,我的意思是

SELECT * FROM 'table_name' WHERE 'column_1'='data';
SELECT * FROM 'table_name' WHERE 'column_2'='data';
SELECT * FROM 'table_name' WHERE 'column_3'='data';
SELECT * FROM 'table_name' WHERE 'column_4'='data';

有没有办法做到这一点。我限制了4列,如果列数非常大怎么办?谢谢。

假设只有4列,您可以这样做:

SELECT * FROM table_name WHERE 'data' IN (column_1, column_2, column_3, column_4);

表示表名是固定的,但列名是动态的。它将检查该表的所有列。我的理解正确吗?如果我有100列或未知列数怎么办?你在问题中提到只有4列,这就是为什么解决方案是4列。如果有一组列,可以将它们添加到in子句中。如果您没有设置数量的列,那么您需要考虑动态生成查询,这可能会很混乱,而且需要大量的工作。。。