sách gpt4 ai đã đi

mysql - 有没有更好的方法来使用 mysql_insert_id()

In lại 作者:行者123 更新时间:2023-11-29 08:18:33 26 4
mua khóa gpt4 Nike

我用 PHP 编写了以下 sql 语句。

$sql='INSERT INTO pictures (`picture`) VALUES ("'.$imgs[$i]['name'].'",)';
$db->query($sql);
$imgs[$i]['sqlID'] = $this->id=mysql_insert_id();
$imgs[$i]['newImgName'] = $imgs[$i]['sqlID'].'_'.$imgs[$i]['name'];
$sql='UPDATE pictures SET picture="'.$imgs[$i]['newImgName'].'" WHERE id='.$imgs[$i]['sqlID'];
$db->query($sql);

现在将图像名称写入数据库表图片。完成之后,我得到了 mysql_insert_id(),然后我将用带有下划线的名称前面的最后一个 id 来更新图片名称。

我这样做是为了确保所有图片名称都不能相同。因为所有这些图片都保存在同一个文件夹中。有没有其他方法可以在我第一次设置 sql 查询时保存该 ID?或者还有其他更好的方法来达到这个结果吗?

谢谢大家的建议

1 Câu trả lời

使用 native auto_increment - 没有其他方法。您需要执行您所描述的 3 个步骤。

正如 Dan Bracuk 提到的,您可以创建一个存储过程来执行 3 个查询(执行后您仍然可以获得插入 id)。

其他可能的选项是:

  • 不将 ID 存储在文件名中 - 如果需要,您可以稍后将其连接起来(选择时)
  • 使用临时自动增量而不是 native 增量 - 在这种情况下我不建议这样做,但这是可能的
  • 使用某种 UUID 而不是自动递增
  • 使用文件系统生成唯一的文件名(Marcell Fülöp 的回答)

关于mysql - 有没有更好的方法来使用 mysql_insert_id(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20052063/

26 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com