我正在编写一个函数来添加数据做数据库,但我想立即在我的代码中使用该条目。
我知道我可以查询:SELECT id FROM table ORDER BY id DESC
但我想知道是否还有更直接的方法。
答案 0 :(得分:13)
这主要取决于您用来访问MySQL的界面。
如果您使用的是PDO(推荐),则使用PDO::lastInsertId()
:http://us.php.net/manual/en/pdo.lastinsertid.php
如果您使用的是MySQL,则可以使用mysql_insert_id()
http://php.net/manual/en/function.mysql-insert-id.php
如果您使用的是MySQLi,则可以使用mysqli_insert_id()
:http://us.php.net/manual/en/mysqli.insert-id.php
只需在INSERT完成后立即调用适当的函数即可。
重要的是要注意,您可能不想要使用SELECT从数据库中获取id,因为如果您有多个编写器,则可能会获得其他线程插入的id。充其量,您将使用错误的数据进行操作,最糟糕的是,您可能会遇到严重的安全问题和/或损坏。
答案 1 :(得分:7)
使用PHP,您可以使用mysql_insert_id()功能。
答案 2 :(得分:3)
select last_insert_id();
答案 3 :(得分:2)
也许这可能会有所帮助:
Get the Unique ID for the Last Inserted Row
如果您将记录插入表格中 包含AUTO_INCREMENT 列,您可以获取该值 通过调用存储到该列 mysql_insert_id()函数。