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

userid username userPwd 我把userid设为主键并且是标识 插入是直插入后两列 userid会从1,2,3一直增加吗

如果是自增列的话,就可以的
插入的时候这样
insert into 表名(username,userpwd) values ('xxx','xxx');
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-21
嗯嗯,不过推荐主键除了标识数据的唯一性外,不要有实际的其它用途。
你这样,假如有三行数据,你删掉第三行数据再插入一行数据,它的序号是4不是3
第2个回答  2013-03-21
不知道你是什么数据库, 如果是 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' );
第3个回答  2013-03-21
会自动增加1,不需要手动插入来自:求助得到的回答
第3个回答  2013-03-21
下次插入数据时不插入主键列,userid会每次增加1.