我有一个网站,该网站的数据库在MySQL Community Server (GPL) version 5.5.37
上运行
我想编写一个存储的过程,将图像插入表1,然后从最后一个帖子中选择ID,以将该ID插入表2。
我开始使用google并最终得到以下结果:
CREATE PROCEDURE InsertNewMedia(
IN insertLocatie varchar(255),
IN insertNaam varchar(150),
IN insertOmschrijving longtext,
IN insertCategorieID int
)
BEGIN
INSERT INTO MediaDB (idMediaDB, Locatie, Naam, Omschrijving) VALUES (NULL, insertLocatie, insertNaam, insertOmschrijving);
SELECT MAX(idMediaDB) AS Nieuwste FROM MediaDB;
INSERT INTO MediaLink (idMediaLink, OverMijShoots_idOverMijShoots, MediaDB_idMediaDB) VALUES (NULL, insertCategorieID, Nieuwste);
END
我知道这是错误的代码,但是我找不到所需的优质遮篷。
谁能帮我?
最佳答案
我认为您正在寻找LAST_INSERT_ID()
:
delimiter //
CREATE PROCEDURE InsertNewMedia(
IN insertLocatie varchar(255),
IN insertNaam varchar(150),
IN insertOmschrijving longtext,
IN insertCategorieID int
)
BEGIN
INSERT INTO MediaDB(idMediaDB, Locatie, Naam, Omschrijving)
VALUES (NULL, insertLocatie, insertNaam, insertOmschrijving);
INSERT INTO MediaLink (idMediaLink, OverMijShoots_idOverMijShoots, MediaDB_idMediaDB)
VALUES (NULL, insertCategorieID, LAST_INSERT_ID());
END//
delimiter ;