sQL数据库表的主键列设为标识,增量为1,下次插入数据时能不插入主键列吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sQL数据库表的主键列设为标识,增量为1,下次插入数据时能不插入主键列吗相关的知识,希望对你有一定的参考价值。

这种情况使用xml来进行批量插入.
1.asp.net页面上抓取数据,转换成xml字符串
2.将这个字符串作为参数传给存储过程
3.存储过程里,将这个xml读取成临时表
4.整个临时表插入到目标数据表中,这个过程可以使用sql
server的事务;其实在这里用不用事务问题都不大了,因为存储过程出错,数据插不进去的,还会抛出异常到asp.net后台,让后台进行处理异常.
您用游标或asp.net代码来循环,速度会比较慢的.
参考技术A 不知道你是什么数据库,
如果是
SQL
Server
的话
INSERT
INTO

VALUES
(
'test',
'test'
);
会自动忽略掉
自增的那一列
userid
也可以手动
INSERT
INTO
表(
username,
userPwd
)
VALUES
(
'test',
'test'
);
例如:
1>
CREATE
TABLE
test_create_tab2
(
2>
id
INT
IDENTITY(1,
1)
PRIMARY
KEY,
3>
val
VARCHAR(10)
4>
);
5>
go
1>
INSERT
INTO
test_create_tab2(val)
VALUES
('NO
id');
2>
go
请注意:
下面的插入处理,
A

B

指定列名的。
C

D

数据库自动判断的。
1>
INSERT
INTO
test_create_tab2(val)
VALUES
('A');
2>
INSERT
INTO
test_create_tab2(val)
VALUES
('B');
3>
INSERT
INTO
test_create_tab2
VALUES
('C');
4>
INSERT
INTO
test_create_tab2
VALUES
('D');
5>
go
1>
SELECT
*
FROM
test_create_tab2;
2>
go
id
val
-----------
----------
1
NO
id
2
A
3
B
4
C
5
D
(5
行受影响)
如果是
mysql

由于数据库不会自动忽略掉
自增的那一列
userid,
那么需要手动
INSERT
INTO
表(
username,
userPwd
)
VALUES
(
'test',
'test'
);

SQL Server 主表主键自增量,如何获取主键呢?

开发过程中经常存在主表的主键是自增量的情况,需要获取增量值才能插入字表数据,获取方法如下三种:

  • IDENT_CURRENT 返回为某个会话和用域中的指定表生成的最新标识值。
  • @@IDENTITY 返回为跨所有作用域的当前会话中的某个表生成的最新标识值。
  • SCOPE_IDENTITY() 返回为当前会话和当前作用域中的某个表生成的最新标识值。

推荐使用IDENT_CURRENT ,不容易因为域和表产生错误值。

参考资料:

1、http://www.cnblogs.com/Gin-23333/p/3988507.html

2、http://www.studyofnet.com/news/865.html

以上是关于sQL数据库表的主键列设为标识,增量为1,下次插入数据时能不插入主键列吗的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 主表主键自增量,如何获取主键呢?

怎样用SQL语句将表的主键设为自动增长 每次加1?

sql server 中 怎么让自动增1的主键列 临时的 让它可以手动插入指定值?

Sql Server 主键 外键约束

sql主键列自增问题

Oracle中如何将自动增量添加到现有表中