我有一个网站,该网站的数据库在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 ;

10-02 05:18