gpt4 book ai didi

mysql - 将 TableAdapter 与 MySQL 结合使用时出现 Last_Insert_Id 问题

转载 作者:行者123 更新时间:2023-11-29 21:11:52 27 4
gpt4 key购买 nike

我在连接到 MySQL 数据库的 VB.NET TableAdapter 插入查询中使用 Last_Insert_Id 时遇到问题。我已经阅读了该网站以及其他网站上有关 Last_Insert_ID 和 Scope_Identity 等的大量帖子。但这些帖子都不适用于我的情况。

一点背景知识,我有两个表,一个保存登录信息(自动生成的 ID、用户名、密码)。另一个表在 ID 值上有外键关系,包含 ID、名字、姓氏、城市、州。

在我的 TableAdapter 中,我有一个插入查询,它将值插入到第一个表中,并应该返回 ID 值,以便可以在表 2 上完成插入。

这是我的查询:

INSERT INTO user_logins (user_login, user_pass)  
VALUES (@p1, @p2)

我想添加 Last_Insert_Id 来进行查询

INSERT INTO user_logins (user_login, user_pass)
VALUES (@p1, @p2)
SELECT LAST_INSERT_ID();

但是,无论 ID 是什么,都只会返回值 1。如果我打开查询生成器,我会收到一条消息,指出“无法解析查询文本”。我尝试将 ExecuteMode 更改为 Scalar,但这也没有帮助。

如果我只能在插入后获取 ID 值,则插入部分工作正常。

有人知道我可以尝试什么,或者有更好的方法来实现这一目标吗?

谢谢!

最佳答案

您甚至不需要使用 SELECT LAST_INSERT_ID();只需插入 user_logins (user_login, user_pass) VALUES (@p1, @p2) 就可以了要检索最后一个插入 ID,您可以使用两种方法

Dim t As Integer
cmd.ExecuteNonQuery()
t = (Int32) cmd.LastInsertedId

或者

t = Convert.ToInt32(cmd.ExecuteScalar())

关于mysql - 将 TableAdapter 与 MySQL 结合使用时出现 Last_Insert_Id 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36299030/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com