如何在mysql中获取所有具有自动增量主键的表?
Posted
技术标签:
【中文标题】如何在mysql中获取所有具有自动增量主键的表?【英文标题】:How to get all the tables with auto increment primary key in mysql? 【发布时间】:2020-02-17 11:15:58 【问题描述】:我的 mysql 数据库中有巨大的表,我想获取所有具有自动递增列和列名的表。谁能教我怎么做?
【问题讨论】:
How to see indexes for a database or table in MySQL?的可能重复 @RaymondNijland 抱歉,我不这么认为。我正在考虑从 information_schema.Columns 获取信息。 【参考方案1】:我认为您可以从 INFORMATION_SCHEMA
架构中的 COLUMNS
表中获取该信息。
例如
select TABLE_NAME, COLUMN_NAME from COLUMNS where `COLUMN_KEY` = 'PRI' and EXTRA like '%auto_increment%'
【讨论】:
不知道你可以在不定义 AUTO_INCREMENT 的情况下定义 PRIMARY KEY.. -> db-fiddle.com/f/jbADd4roKNmxXca4C2i5QY/0 你测试了吗?在 mysql 8 上进行一些测试后不正确。 那么在该表中,您不会在列 a 上自动递增。尝试在不定义列 a 的情况下进行两次插入。 这是一个“示例”案例的意思。@LazerBass,this 会更有意义.. 使用EXTRA LIKE '%auto_increment%'
可能会更好一些,因为从手册解释额外的 coiumn 的方式来看,额外可以有多个值..以上是关于如何在mysql中获取所有具有自动增量主键的表?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Hibernate 在 MySQL 中获取自增主键值