将数据插入表 SQL Server

Posted

技术标签:

【中文标题】将数据插入表 SQL Server【英文标题】:Inserting data into table SQL server 【发布时间】:2016-01-05 20:38:34 【问题描述】:

如果我有 2 个表并且表 1 有一个主键 (userID) AutoIncrement 并且表 2 有一个外键 (userID) 到表 1 的 (userID)

当我在表 1 中插入新行时,第一行的 userID = 1

如果我再次插入,userID = 2。

那么在插入表 1 时如何保持表 2 的用户 ID 相同。例如,在表 2 中,我将密码添加到另一个表中。

我的问题是我应该在表 2(userID) 中添加一个 AUTOINCREMENT 并在我创建用户时在两个表中插入一个新值,或者还有其他方法吗?

【问题讨论】:

mysql 中有一些功能可以帮助解决这个问题。基本上:在表1中插入一条新记录,确定新的ID,然后插入到表2中。 2 或 3 个陈述(视情况而定),没什么好笑的。 dev.mysql.com/doc/connector-odbc/en/… 【参考方案1】:

您必须在 Table2 中手动插入具有正确 ID 的数据。 MySQL 中没有这样的内置功能。

算法如下:

    在表 1 中插入行。 获取新行的 ID。 在 Table2 中插入具有新 ID 的行。

【讨论】:

是的,用于检索最后一个 id 的功能是内置的......只要它是PRIMARY KEY --> LAST_INSERT_ID();【参考方案2】:

我想你要找的是这个......假设你的 ID 是 PKAI

INSERT INTO yourTable (var1, var2 etc etc) VALUES ('val1', 'val2'  etc etc);
SELECT LAST_INSERT_ID();

为了进一步..

INSERT INTO yourTable (var1, var2 etc etc) VALUES ('val1', 'val2'  etc etc);
SET @last_id = LAST_INSERT_ID();
INSERT INTO yourTable2 (id, var1, var2) VALUES (@last_id, 'blah', 'blah');    

【讨论】:

以上是关于将数据插入表 SQL Server的主要内容,如果未能解决你的问题,请参考以下文章

将本地数据插入 SQL Server 临时表

如何将记录插入到 sql server express 数据库表中?

如何将数据表插入到 SQL Server 数据库表中?

尝试将数据插入多个表时出错 [C# Winform SQL Server] [关闭]

如何将 R 数据框插入到 SQL Server 中的现有表中

如何将地理批量插入新的 sql server 2008 表