首页 > 解决方案 > MySQL:针对所有列的 WHERE 条件而不指定它们

问题描述

长话短说:我有表 A,将来可能会在列中扩展。我想编写一个带有 WHERE 子句的 php pdo 准备好的 select 语句,它将 where 条件应用于表上的所有列。如果稍后将列添加到表中,为了防止必须手动更新查询,我只想告诉查询检查表上的所有列。

像这样:

  $fetch = $connection->prepare("SELECT product_name
                                 FROM products_tbl
                                 WHERE _ANYCOLUMN_ = ?
                                ");

这可以用mysql吗?

编辑:为了澄清我在未来“必须扩大表格”的意思:

MariaDB [foundationtests]> SHOW COLUMNS FROM products_tbl;
+----------------------+--------------+------+-----+---------+----------------+
| Field                | Type         | Null | Key | Default | Extra          |
+----------------------+--------------+------+-----+---------+----------------+
| product_id           | int(11)      | NO   | PRI | NULL    | auto_increment |
| product_name         | varchar(100) | NO   | UNI | NULL    |                |
| product_manufacturer | varchar(100) | NO   | MUL | diverse |                |
| product_category     | varchar(100) | NO   | MUL | diverse |                |
+----------------------+--------------+------+-----+---------+----------------+
4 rows in set (0.011 sec)

在这里您可以看到当前表。基本上,产品是按名称列出的,并附有制造商(例如博世)和类别(例如钻锤)。现在我想为产品添加另一个“属性”,比如它们的价格。在这种情况下,我必须添加另一列,然后我必须在我的 MySQL 查询中指定这个新列。

标签: mysql

解决方案


推荐阅读