我想将最后更新的行的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 返回的值存储到 MYROW_ID
中?
最佳答案
你应该这样做:
SELECT id into MYROW_ID FROM withdrawals ORDER BY lastmodified DESC LIMIT 1;
关于mysql - 获取表的ID并存储在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31218374/