【发布时间】:2020-11-03 14:29:11
【问题描述】:
如何获取我的数据库(mysql)中所有表的最大主键?
我有以下查询来检索 all columns from all tables 是 主键 并且是来自 my_db 数据库的 INT 数据类型
SELECT
table_name, column_name
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
table_schema = 'my_db'
AND column_key = 'PRI'
AND data_type LIKE '%int%'
ORDER BY TABLE_NAME , COLUMN_NAME
但是现在,我被困在从所有表中的所有这些列中获取最大值。有没有办法做到这一点?我的预期输出将是单个整数,这是所有这些列中最大的。
谢谢!
【问题讨论】:
-
也许你可以使用
UNION ALL查询所有三个表并从那里得到MAX.. -
谢谢,我已经听从了你的建议``` lang-sql select id from table_1 union select id from table_2 union select id from table_3 order by id desc limit 1``` 它工作正常,但是什么如果我不知道这些表和列的名称(table_N 和
id),我需要运行查询来检索它们(eq.查询上面的问题)。有没有办法将它们链接在一起?谢谢 -
对不起,在注释中格式化代码相当困难,这是我运行的sql
select id from table_1 union select id from table_2 union select id from table_3 order by id desc limit 1
标签: mysql sql database greatest-n-per-group