我有一个用以emp
下列命名的表:
id int (autoincrement),
name varchar,
maxid int
我想插入id
,name
和autoincrement 的maxid
值。maxid
id
在以下两个查询选项中,哪一个是最佳选项,为什么?
选项1:
insert into emp (name,maxid) values ('abc',(select max(id)+1 from emp))
选项2:
string QRY = "insert into emp values('abc',0) select scope_identity()";
sqlcommand cmd= new sqlcommand(QRY, con);
datatable dt = new datatable();
con.open();
dt.load(cmd.executereader());
con.close();
int scopeid=int.parse(dt.rows[0][0].tostring());
QRY="update emp set maxid='"+scopeid+"' where id ='"+scopeid+"'";
cmd= new sqlcommand(QRY, con);
cmd.executenonquery();