如何在INSERT之前获取mysql行的ID

Goo*_*bot 3 php mysql database insert

我可以在INSERT之后通过mysql_insert_id()获取ID; 但我想以ID-image_name.jpg的形式保存图像并将其保存在名为Image_Name的列中.如何使用即将到来的ID保存图像?或者最好在INSERT进程后保存图像文件?

Pek*_*ica 6

在INSERT过程之后保存它是最直接的方法.

mysql_query("INSERT INTO....."); // etc. etc.
$id = mysql_insert_id();
mysql_query("UPDATE table SET image = '$image_name' WHERE id = '$id'");
Run Code Online (Sandbox Code Playgroud)


mu *_*ort 5

是的,最好在INSERT之后保存图像.如果保存文件失败,您将要撤消INSERT(使用DELETE或回滚事务).如果使用标准命名方案,则不必再次触摸数据库以在表中设置文件名(因为表中不需要文件名).