-
Notifications
You must be signed in to change notification settings - Fork 0
/
AUTOINCREMENTO.sql
47 lines (29 loc) · 1.98 KB
/
AUTOINCREMENTO.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/* Auto Incremento?
É um número sequencial que será incluído dentro dessa coluna de forma automática,
na medida em que eu vou dando INSERTS */
create table tab_identity (ID int auto_increment, DESCRITOR varchar(20), primary key(ID));
/* OBS: Só podemos ter apenas um campo AutoIncrement dentro de uma tabela,
e nós podemos forçar o valor do AutoIncrement quando, então sim, mencionamos ele no Insert.
o campo auto incremento sempre deve fazer parte da chave primária da tabela */
/* */
insert into tab_identity (DESCRITOR) values('cliente');
insert into tab_identity (DESCRITOR) values('cliente2');
insert into tab_identity (DESCRITOR) values('cliente3');
/* ou, EU posso mencionar o ID, e posso colocar aqui um Null que vai dar o mesmo reultado: */
insert into tab_identity (ID, DESCRITOR) values(null, 'cliente4');
insert into tab_identity (ID, DESCRITOR) values(null, 'cliente5');
select * from tab_identity;
/* Deletando um cliente com ID = 5 (que seria o cliente5) e incluindo um cliente6 */
delete from tab_identity where ID = 5;
insert into tab_identity (ID, DESCRITOR) values(null, 'cliente6');
/* a estrutura Auto Incremento é uma estrutura do banco de dados chamada Sequência,
então quando eu inseri o cliente cinco, ele internamente tem essa sequência salva,
do um até o cinco, ele sabe que o próximo valor é o seis.
Eu apaguei da tabela o cinco, mas não importa, na hora que eu incluir,
o campo é auto incremento, ele vai lá na estrutura sequência; quem é o próximo? É o seis. */
/* E eu posso também forçar e dar um pulo para essa sequência: */
insert into tab_identity (ID, DESCRITOR) values(100, 'cliente5');
/* ao invés de Null, eu coloquei 100, ao fazer isso, a sequência interna foi para 100 */
insert into tab_identity (ID, DESCRITOR) values(null, 'cliente7');
/* Então agora inseri um novo cliente, cliente7, quando eu dou o meu Select, o valor foi para 101 (cento e um)
a sequência pulou e então vai crescendo de um em um e assim por diante. */