1、创建表Scores
1 create table Scores –表名
2 (Id int identity(1,1) primary key,–设置主键,并且行号自增,
identity(1,1)表示Id列从1开始自增,每次增加1
3 Date datetime not null, –设置类型为datetime,不能为空
4 Name nvarchar(50) not null,
5 Score nvarchar(2)
大家都知道吧,这很坑,尤其是用惯了mysql里的自增字段设置,结果oracle里面没有的。oh,no
我用的是12c版本的,它有一个新特性,可以这样设置自增序列,在创建表是,把id设置为自增序列
create table t
(
id number generated by default as identity (start with 1 increment by 1),
name varchar2(20),
password varchar2(20)
在 MySQL 中用很多类型的自增 ID,每个自增 ID 都设置了初始值。一般情况下初始值都是从 0 开始,然后按照一定的步长增加(一般是自增 1)。一般情况下,我们都是用int(11)来作为数据表的自增 ID,在 MySQL 中只要定义了这个数的字节长度,那么就会有上限。
MySQL的自增ID(主键) 用完了,怎么办?
如果用 int unsigned (int,4个字节 ), 我们可以算下最大当前声明的自增ID最大是多少,由于这里定义的是 int unsigned,所以最大可以达到2的32幂
SQL Server 中数据表往往会设置自增列,常见的比如说 首列的ID列。 往数据表插入新数据的时候,自增列是跳过的,无需插入即会按照设置的自增规则进行列增长。那么,如果我们想往自增列插入我们指定的数据时该怎么做呢?
一:建立一张简单的测试表
CREATE TABLE randy_test (id INT IDENTITY ( 1 , 1 ), num INT )
二:如果强行插入数据时:
INSERT INTO randy_test VALUES (1,11)
消息 8101,级别 1