我试图在不使用“从 database_name 显示表”或“从 information_schema.tables 中选择表名”的情况下返回表名查询其原因:
如果任何机构知道,请帮助:
或者
最佳答案
似乎 SHOW TABLES 是一个具有固定语法的单独语句:
SHOW [FULL] TABLES [{FROM | IN} db_name] [LIKE 'pattern' | WHERE expr]
http://dev.mysql.com/doc/refman/5.0/en/show-tables.html
它不是一个 SELECT 所以你不能用它联合或以任何形式玩弄它(改变列名)所以我想这个问题的答案是:这是不可能的。
如果你比较这个:
http://dev.mysql.com/doc/refman/4.1/en/show-tables.html
对此:
http://dev.mysql.com/doc/refman/5.0/en/show-tables.html
似乎只有 SHOW TABLES 5.0 之前的替代方法是“mysqlshow”shell 命令
information_schema 是在 MySql 5.0 中引入的,它在 8 年前就很稳定了。所以我猜你是想让你的软件与非常旧的版本兼容。
当列名超过 31 个字符时,这个“DBExpress”会做什么?它会截断它还是失败?也许您应该提出一个标记为“delphi”和“DBExpress”的问题,并询问如何绕过此限制?
关于MySQL:在不使用任何 "show tables from database_name"或 "select table_name from information_schema.tables"查询的情况下返回表名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16518412/