以编程方式获取自动增量主键列

Posted

技术标签:

【中文标题】以编程方式获取自动增量主键列【英文标题】:Get the auto increment-primary key column programatically 【发布时间】:2015-04-20 20:31:53 【问题描述】:

witch是mysql表中的自增字段吗?

我有一个表结构,例如: 表名是 my_table,字段是 my_id、my_name、my_blah。字段之一是自动递增的主键。是女巫吗?

如何使用 php 代码和/或 mysql 查询获取此表上自动增量字段的名称?

【问题讨论】:

参考这个***.com/questions/11093650/… 【参考方案1】:

你可以试试

SHOW COLUMNS FROM TableName

请看这里:http://dev.mysql.com/doc/refman/5.0/en/show-columns.html

【讨论】:

【参考方案2】:

您可以使用 MySQL SHOW COLUMNS 查询来检索有关表中列的信息:

mysql> SHOW COLUMNS FROM `test`;
+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| col1     | varchar(100) | YES  |     | NULL    |                |
| col2     | int(11)      | YES  |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+

extra 列将包含主键字段的 auto_increment

【讨论】:

【参考方案3】:

使用 MySQL 客户端并发出查询 SHOW CREATE TABLE my_table

它向您展示了创建该表需要运行的代码。您可以看到列名、类型(和长度)、每列可能具有的其他属性(它们取决于类型)。 AUTO_INCREMENT 就是这样一个属性。

它还会显示PK 和表的索引。

【讨论】:

以上是关于以编程方式获取自动增量主键列的主要内容,如果未能解决你的问题,请参考以下文章

将自动增量主键插入现有表

将自动增量主键插入现有表

使用 sqlalchemy 在刷新/提交时自动散列主键并使其持久化

sQL数据库表的主键列设为标识,增量为1,下次插入数据时能不插入主键列吗

Oracle中如何将自动增量添加到现有表中

如何以编程方式禁用主键约束?