MySQL PDO最后插入的ID
我在MySQL上有一个带有主键的表,我插入了该表,我想恢复插入的最后一行的id,我知道我必须使用MySQL PDO最后插入的ID,mysql,database,pdo,Mysql,Database,Pdo,我在MySQL上有一个带有主键的表,我插入了该表,我想恢复插入的最后一行的id,我知道我必须使用last\u INSERT\u id 但我的问题是,在使用该语句将值插入到另一个没有主键的表之后,我是否可以再次使用它来获取第一个插入的表的确切ID $php-pdo# 现在如果about==place我能写这个吗 $query = "INSERT INTO `question-io` (questionID, io) VALUES (LAST_INSERT_ID()
last\u INSERT\u id
但我的问题是,在使用该语句将值插入到另一个没有主键的表之后,我是否可以再次使用它来获取第一个插入的表的确切ID
$php-pdo#
现在如果about==place
我能写这个吗
$query = "INSERT INTO `question-io` (questionID, io) VALUES
(LAST_INSERT_ID() ,:io )";
$sth = $this->db->prepare($query);
$sth->execute(array(
':io' => $io
));
我没有尝试它,因为我无法尝试它,直到我填满我所有的表,并且我无法在不知道ID的情况下填满我所有的表:)如果您的对象引用了PDO对象,那么您可以使用它
$ID=$this->db->lastInsertId();
要保存ID,最好将其保存在变量中
因此,每次插入后,可以保存插入行的ID
请记住,每次将记录插入到主键为自动递增的表中时,都必须在执行()之后使用它,“LAST_insert_ID()”将用最新值更新。它不会持久化,但如果您的表没有,它应该仍然保留用于具有自动递增主键的表的最后一个值。谢谢您的帮助,我已经放置了自动递增,我得到了一个答案,谢谢
$ID=$this->db->lastInsertId();