【发布时间】:2025-12-19 13:30:07
【问题描述】:
我正在尝试从一个表 pk 获取我当前的 id 以插入另一个表 fk,我的下一个尝试是在数据库中设置一个触发器。
CREATE PROCEDURE `INSERIR CODIGO DISPENSACAO` ()
CREATE TRIGGER `productInsert`
BEFORE INSERT ON `produtos_disp`
FOR EACH ROW
BEGIN
set NEW.ID_PRODISP = (select max(ID)
from dispensacao p
);
END
我想从 dispensacao 表中设置 max id
【问题讨论】:
-
这不会真正起作用,因为多个连接可能会增加 id 并且您将拥有错误的 id。您应该运行第一个,获取 last_inserted_id,然后在 c# 中运行下一个
-
使用
LAST_INSERT_ID()。你也不想要AFTER INSERT吗? -
这里是 last_insert_id *.com/a/15057619/5193536的示例
-
不是最后插入的 id 只能用于相同的连接
-
你能向我解释一下它将如何从该示例中甚至没有提到的表中获取最后插入的 id,它如何知道要使用的 id