我想将最后更新的行的ID存储到变量,然后设置触发器以更新一些单元格,即触发器的代码:

BEGIN
DECLARE MYROW_ID INT;
DECLARE WITHDRAWAL DECIMAL(11,1);
DECLARE USERNAME VARCHAR(10);
SET MYROW_ID = SELECT id FROM withdrawals ORDER BY lastmodified DESC LIMIT 1;
SET WITHDRAWAL = SELECT withdrawal FROM withdrawals WHERE id = MYROW_ID;
SET USERNAME = SELECT username FROM withdrawals WHERE id = MYROW_ID;
UPDATE  `interests` SET  `totalincome` =  `totalincome` - 'WITHDRAWAL'
WHERE 'username' = 'USERNAME' AND 'status' = 1;
END


MySQL在第5行给出了我的错误,我分配的数据类型是否错误,即MYROW_ID
如何存储SELECT into MYROW_ID返回的值?

最佳答案

您应该这样做:

SELECT id into MYROW_ID FROM withdrawals ORDER BY lastmodified DESC LIMIT 1;

关于mysql - 获取表的ID并将其存储在变量中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31218374/

10-10 17:08
查看更多