我有很多列,其形式为: rp_id_1 rp_id_2 等等。 我想获取这些特定列的数据。 在论坛上,我看到建议的查询类型如下:
"SELECT column_name
FROM information_schema.columns
WHERE table_name='loc_tbl'
AND column_name LIKE 'rp%'"
但是,这仅返回列名称,而不返回数据。 输出:
+-------------+
| column_name |
+-------------+
| rp_id_1 |
| rp_id_2 |
| rp_id_3 |
我错过了什么?我如何获取所有这些列的数据?谢谢。
最佳答案
我们可以使用动态 MySQL 来做到这一点。从 MySQL 命令行:
SELECT @cols := GROUP_CONCAT(column_name) FROM information_schema.columns
WHERE table_name = 'loc_tbl' AND column_name LIKE 'rp%';
SET @query = CONCAT("SELECT ", @cols, " FROM lob_tbl");
PREPARE stmt FROM @query;
EXECUTE stmt;
关于mysql:使用 LIKE 选择多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53002984/