1

好的,这就是我的情况——你可能不同意我正在尝试做的事情,但我有我的理由。用户能够将各种信息上传到数据库,我也希望他们能够同时上传图片。现在由于各种原因,我想用我正在添加的记录的 ID 号的文件名存储图像(我有一个 ID 列作为自动增量的主要列)。显然我也必须将文件扩展名存储在数据库中。现在有没有一种方法可以添加记录,然后知道设置了什么 ID 以便我可以保存图像?我不想查询并选择最高 ID,因为如果两个人同时提交表单,这可能会出错。有任何想法吗?

4

2 回答 2

3

LAST_INSERT_ID()会给你ID自动生成的:

...返回一个BIGINT(64 位)值,表示AUTO_INCREMENT 由最近执行的INSERT语句为列设置的第一个自动生成的值,以影响此类列。例如,插入产生 AUTO_INCREMENT值的行后,可以这样获取值:

mysql> SELECT LAST_INSERT_ID();
        -> 195
于 2013-03-14T19:02:46.493 回答
1

在 PHP 中运行插入后,您可以AUTO_INCREMENT$mysqli->insert_id(其中 $mysqli 是一个MySQLi连接对象)、$pdo->lastInsertId(其中 $pdo 是一个PDO连接对象)或mysql_insert_id()(如果您仍在使用MySQL,您不应该使用)获取 ID必须运行另一个查询。

于 2013-03-14T19:06:30.277 回答