检测自动增量列

Get*_*awn 6 mysql pdo

如何从表中获取auto_increment列名(不是最后一个插入ID)

例如:

create table members (member_id int auto_increment, name char(50), primary key(member_id));
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能member_id从表中获取成员.

我正在制作一个php类,我将添加一个允许你这样做的方法:

$members->findById(123);
Run Code Online (Sandbox Code Playgroud)

它应该知道找到自动增量列并基于该查询构建查询然后执行查询.

Ola*_*che 9

您可以使用该列

show columns from members where extra like '%auto_increment%'
Run Code Online (Sandbox Code Playgroud)

第一列Field是您的auto_increment列名称.

$sql = "show columns from members where extra like '%auto_increment%'";
$sth = $dbh->prepare($sql) or die($dbh->error());
$sth->execute() or die($dbh->error());
$row = $sth->fetch();
$column = $row['Field'];
Run Code Online (Sandbox Code Playgroud)