Mysql 在更新过程中,对最后一个插入ID执行每个

Mysql 在更新过程中,对最后一个插入ID执行每个,mysql,Mysql,我有一个非常简单的过程,可以对多行执行更新。它们是否是我可以循环遍历每个更新行的插入id的方法 BEGIN UPDATE testTable set testValue = 2 where username = inputUser and flag = 1; //for each update performed, insert LAST_INSERT_ID() into tableB END 这可能吗?如果是这样的话,你能告诉我正确的方向吗?LAST\u INSERT\u ID只给你最后

我有一个非常简单的过程,可以对多行执行更新。它们是否是我可以循环遍历每个更新行的插入id的方法

BEGIN
UPDATE testTable set testValue = 2 
where username = inputUser and flag = 1;

//for each update performed, insert LAST_INSERT_ID() into tableB
END

这可能吗?如果是这样的话,你能告诉我正确的方向吗?

LAST\u INSERT\u ID只给你最后一个ID。你可以在没有循环的情况下进行多次插入。您可以使用SELECT查询的输出并将其插入到所需的表中。你可以这样做:

BEGIN
    UPDATE testTable set testValue = 2 
    where username = inputUser and flag = 1;

    INSERT into tableB (column1, column2)
    SELECT column1, column2 FROM testTable
    WHERE username = inputUser and flag = 1;
END
例如:

User (username, password)
UserLoginLog (username, last_log_in_date)

INSERT INTO UserLogInLog (username, last_log_in_date)
SELECT username, NOW() 
FROM User 
WHERE username = "JohnDoe"

如果你说得更具体些,我可以帮你更多。