触发器中的自动递增值

时间:2012-02-28 10:11:01

标签: mysql

如何在before insert trigger中获取自动增量的值?如果我必须自动user.idconcat自动增量行,并为每个新成员设置性别行..

2 个答案:

答案 0 :(得分:0)

在插入触发器之前无法可靠地执行此操作。您只能确定在插入之后分配给新行的AI值。

答案 1 :(得分:0)

命令SHOW TABLE STATUS将为您提供有关数据库中所有表的详细信息。

PHP中用于检索表的下一个AI(my_db.my_table)的示例:

$sth = $dbh->prepare('SHOW TABLE STATUS FROM `my_db` WHERE `Name` = ?');
$sth->execute(array("my_table"));
$result = $sth->fetch(PDO::FETCH_ASSOC);
$sth->closeCursor();

printf("Next Auto_increment is: %d\n", $result['Auto_increment']);

显然,这是为了让您了解如何检索所需的AI值。在触发器中,您必须使用光标来检索此信息。