我想让我上传的图片将其所属行的ID作为名称(例如42.jpg
)以确保唯一性。
是否可以在查询中间获取此信息?或者在更新行之后我是否必须获取ID?
答案 0 :(得分:3)
您可以先插入一个空行(带有null
图片和文件名。)您可以使用LAST_INSERT_ID()
检索上次插入的ID。
之后,您可以根据ID更新包含图像和文件名的行。
答案 1 :(得分:0)
如果您正在插入的表中的id
是AUTO_INCREMENT列...否,则在语句执行期间,自动分配的值不可用。当BEFORE INSERT
触发器被触发时,该值不可用。
分配给该行的值仅在 INSERT语句完成后才可用。
成功插入后,SELECT LAST_INSERT_ID()
(等效库函数)可以检索分配的值。
作为另一种选择,您可以考虑使用带有AUTO_INCREMENT列的单独表和LAST_INSERT_ID来模拟Oracle序列对象。如果在执行INSERT之前将其作为唯一ID,则可以在INSERT中提供该值。