根据通配符前缀动态选择列
在数据库中,可能会遇到需要根据通配符前缀选择特定列的情况他们的名字中有共同的前缀。虽然提供的带有通配符的 MySQL 查询尝试不起作用,但有一种解决方案涉及动态生成 SQL。
要检索以特定前缀开头的列名称,可以利用以下 SQL 查询:
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'Foods' AND table_schema = 'YourDB' AND column_name LIKE 'Vegetable%'
在此查询中,“Foods”代表表名称,“YourDB”是数据库架构,“Vegetable”是所需的列前缀。将这些值替换为您的特定表、架构和前缀。
获取列名称后,您可以动态构造查询来选择相应的数据。例如:
SELECT `VegetableName1`, `VegetableName2`, `VegetableName3` FROM `Foods`
这里,假设获取的列名称为“VegetableName1”、“VegetableName2”和“VegetableName3”。将这些名称替换为从上述 INFORMATION_SCHEMA 查询派生的名称。
通过采用此方法,您可以根据共享通配符前缀有效地选择特定列。当使用列名称遵循一致命名约定的数据库时,此技术非常有用。
以上是如何在 MySQL 中根据通配符前缀动态选择列?的详细内容。更多信息请关注PHP中文网其他相关文章!