根据时间戳读取 Sql 中最后一个插入的行



sql 有一个名为 emp 的表。

emp(emp_id int IDENTITY primary key, EmployeeName varchar(50),.......)

我想在上面的表格中插入一条记录。这是我 asp.net 的代码。

DBconnection dbcon = new DBconnection();
string query = "insert into emp values('" + TextBox_EmpName.Text + "','" + ....);
int no1 = dbcon.insertQuery(query);

我有另一个表叫做emp-relation

 emp-relation(emp_id int primary key, count int, ....) 
     -- foreign key (emp_id)references emp(emp_id)

我的问题是当我插入emp行时,我不知道emp_id是什么,因为它是由auto创建的。当我要插入到emp-relations时,我想得到emp-id因为它是外键。

我该怎么做?有什么方法可以根据时间戳或某些东西读取 Sql 中的最后一个插入行?我相信记录本质上不是根据插入的时间戳进行排序的。请帮助我。

有两种方法。 第一种方法是从第一个插入查询返回新 ID:

insert into emp values(...)
select scope_identity() as NewID

第二种方法是在插入关系表时查找第一行:

insert  emp-relation
        (emp_idm, ...) 
select  emp_id
,       ...
from    emp
where   emp_name = @EmpName

您必须传入足够的列才能使引用唯一。

最新更新