我的一位教授问我“在sql中从5000分配auto_increment起始值的实际用法或好处是什么?”他告诉我尝试搜索你会发现一些有趣的东西,但我尝试了很多,我无法'找到技术答案。是否存在任何技术参考或者它只是一项可选任务。
CREATE TABLE animals (
grp ENUM('fish','mammal','bird') NOT NULL,
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (grp,id)
) ENGINE=MyISAM AUTO_INCREMENT=500;
答案 0 :(得分:1)
一种可能的用法是在创建SQL Server调用分区视图时:
create table ObjectsOfTypeA (
id int identity(10000, 1) primary key,
check (id between 10000 and 19999),
somefield varchar(10) );
create table ObjectsOfTypeB (
id int identity(20000, 1) primary key,
check (id between 20000 and 29999),
somefield varchar(10) );
create table ObjectsOfTypeC (
id int identity(30000, 1) primary key,
check (id between 30000 and 39999),
somefield varchar(10) );
create view AllObjects as
select * from ObjectsOfTypeA
union all
select * from ObjectsOfTypeB
union all
select * from ObjectsOfTypeC;
最好不要使用自动增量/标识列,但如果你使用它们,你真的不希望它们从1开始,因为它会然后违反检查约束。
答案 1 :(得分:0)
在数据库复制中使用一些自动增量以使文章保持一致。