我正在将图像文件上传到存储服务器.在上传之前,我应该编写文件名,其中包含AUTOINCREMENT VALUE(例如,12345_filename.jpg).
在插入数据库之前如何获得自动增量值?
我只看到一个解决方案
还有其他解决方案吗?
谢谢
Pas*_*TIN 13
插入完成后,自动增量值由数据库本身生成; 这意味着在进行实际的插入查询之前无法获取它.
您提出的解决方案不是经常使用的解决方案 - 这将是:
where
子句中先前生成的自动增量update
来标识正在更新的行.当然,作为安全预防措施,所有这些操作都必须在事务中进行(以确保"全有或全无"行为)
作为伪代码:
begin transaction
insert into your table (half empty values);
$id = get last autoincrement id
do calculations
update set data = full data where id = $id
commit transaction
Run Code Online (Sandbox Code Playgroud)
好吧,试试这个:
$query = "SHOW TABLE STATUS LIKE 'tablename'";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
var_dump($row);
Run Code Online (Sandbox Code Playgroud)
输出:
array(18) {
[...]
["Auto_increment"]=> string(4) "3847"
[...]
}
Run Code Online (Sandbox Code Playgroud)
这将是您的下一个auto_increment ID.
归档时间: |
|
查看次数: |
19079 次 |
最近记录: |