【发布时间】:2016-03-30 03:20:03
【问题描述】:
我在连接到 MySQL 数据库的 VB.NET TableAdapter Insert 查询中使用 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 值,则插入部分工作正常。
有谁知道我可能会尝试什么,或者有什么更好的方法来实现这一点?
谢谢!
【问题讨论】:
标签: mysql vb.net tableadapter