gpt4 book ai didi

mysql - 从 mysql 数据库中的所有表中选择第一列

转载 作者:行者123 更新时间:2023-11-29 05:46:30 25 4
gpt4 key购买 nike

我有一个名为“name”的列,它存在于 mysql 数据库的所有表中。

我想列出所有表中的所有名称,所以我使用了以下查询

select name from (SELECT table_name FROM information_schema.tables WHERE table_type='BASE TABLE') as abc

但它对我不起作用,而是单独返回了 table_name 列。

然后我使用 show tables 并将输出存储在另一个名为 table_list 的表中,然后我执行了以下查询

select name from (select table_name from table_list) as abc

这也返回了相同的结果,即所有表名。

我能知道我做错了什么以及正确的做法是什么吗?

我使用的是 MySQL 5.4,我想在 mysql 中编写子查询或过程或函数。

最佳答案

有 PREPARE 和 EXECUTE 可以从用户变量内部运行 sql 语句,因此可能使用类似于(未经测试!)的东西

SET @a = "";

SELECT @a := CONCAT('(select name from ',GROUP_CONCAT(table_name SEPARATOR ') UNION (select name from '),')') FROM information_schema.tables WHERE table_type='BASE TABLE' GROUP通过 1;

从@a 准备 stmt;

EXECUTE stmt;

DEALLOCATE PREPARE stmt;

关于mysql - 从 mysql 数据库中的所有表中选择第一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1163902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com