CREATE TABLE jobs
成都创新互联公司是一家专业的成都网站建设公司,我们专注网站设计制作、成都网站设计、网络营销、企业网站建设,买链接,广告投放平台为企业客户提供一站式建站解决方案,能带给客户新的互联网理念。从网站结构的规划UI设计到用户体验提高,创新互联力求做到尽善尽美。
(
job_id smallint
IDENTITY(1,1)--在这里设置步长,第一个1是种子,就是开始号,第二个1 就是步长,就是每次增长增加的数量。
PRIMARY KEY CLUSTERED,
job_desc varchar(50) NOT NULL
DEFAULT 'New Position - title not formalized yet',
min_lvl tinyint NOT NULL
CHECK (min_lvl = 10),
max_lvl tinyint NOT NULL
CHECK (max_lvl = 250)
)
go
设置自增列
MYSQL的自增列一定要是有索引的列,设置种子值要在表的后面设置
--mysql
-- 设置自增ID从N开始
CREATE TABLE empautoinc(
ID INT PRIMARY KEY AUTO_INCREMENT
) AUTO_INCREMENT = 100 ; --(设置自增ID从100开始)
insert into empautoinc(id) values(null);
Query OK, 1 row affected (0.00 sec)
mysql select * from empautoinc;
+-----+
| ID |
+-----+
| 100 |
+-----+
1 row in set (0.00 sec)
show table status like 'empautoinc'G;
*************************** 1. row ***************************
Name: empautoinc
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 1
Avg_row_length: 16384
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: 101
Create_time: 2016-10-27 01:50:32
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)
设置自增列的步长,可以分为全局级别和会话级别
如果是会话级别,那么当用户新建一个会话的时候,那么步长又回到了全局级别,所以mysql的步长跟sqlserver的步长有很大的不同
mysql不能设置为 表级别 的步长
私信666领取资料
DROP TABLE t_autoincrement;
CREATE TABLE t_autoincrement(id BIGINT(12) NOT NULL AUTO_INCREMENT PRIMARY KEY,username CHAR(30))ENGINE=INNODB AUTO_INCREMENT=10;
INSERT INTO t_autoincrement(username) VALUES('op');
--
SELECT * FROM t_autoincrement
-- po 为下一个需要插入的值
INSERT INTO t_autoincrement(id,username) SELECT LAST_INSERT_ID(id + 10 ),'po' FROM t_autoincrement
mysql中有自增长字段:auto_increment_offset和auto_increment_increment。
auto_increment_offset表示自增长字段从那个数开始,他的取值范围是1 .. 65535
auto_increment_increment表示自增长字段每次递增的量,其默认值是1,取值范围是1 .. 65535
试一下
set @@global.auto_increment_increment = 1;
set @@auto_increment_increment =1;