Mysql使用先前插入的自动增量ID

我有个问题。我正在尝试创建一个将用户添加到表中的过程User,然后使用上一个插入的自动增量 ID 创建一个钱包,将其设置为钱包中的 userId。这是我现在的程序:

BEGIN

START TRANSACTION;

INSERT INTO User (username, email, password, role) VALUES (parUser, parEmail, parPassword, parRole);

INSERT INTO Wallet (userId, market, coin, quantity, avgPrice, startValue) VALUES (???, 'USDT', 'USDT', 2000.0, 1.0, 2000.0)

COMMIT;

END

但是在???我需要放置id刚刚插入的用户的 auto_incremented的地方。我怎样才能做到这一点?

回答

通用方法捕获 id 使用LAST_INSERT_ID(),然后重新使用它:

INSERT INTO User (username, email, password, role)
    VALUES (parUser, parEmail, parPassword, parRole);

SET @userId = LAST_INSERT_ID();

INSERT INTO Wallet (userId, market, coin, quantity, avgPrice, startValue)
    VALUES (@userId, 'USDT', 'USDT', 2000.0, 1.0, 2000.0);


以上是Mysql使用先前插入的自动增量ID的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>