我的网站上有一个运行在MySQL Community Server (GPL) version 5.5.37
我想编写一个存储的precedure来在表1中插入图像,然后从最后一篇文章中选择id以在表2中插入该id。
我开始谷歌并最终得到了这个:
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
我知道这是一个错误的代码,但我找不到我需要的好东西。
任何人都可以帮助我吗?
答案 0 :(得分:1)
我认为您正在寻找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 ;