我有一个非常简单的过程,可以在多行上执行更新。 它们是我可以循环遍历每个更新行的插入 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_INSERT_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"