Valores de incremento automático de redefinição do MySQL

Resumo : neste tutorial, mostraremos várias maneiras de redefinir os valores de incremento automático de AUTO_INCREMENTcolunas no MySQL.

O MySQL fornece um recurso útil chamado incremento automático . Você pode atribuir o AUTO_INCREMENTatributo a uma coluna de uma tabela para gerar uma identidade exclusiva para a nova linha. Normalmente, você usa o AUTO_INCREMENTatributo para a coluna de chave primária da tabela.

Sempre que você insere uma nova linha em uma tabela , o MySQL atribui automaticamente um número de sequência à AUTO_INCREMENTcoluna.

Por exemplo, se a tabela tiver oito linhas e você inserir uma nova linha sem especificar o valor para a coluna de incremento automático, o MySQL irá inserir automaticamente uma nova linha com idvalor 9.

Às vezes, pode ser necessário redefinir o valor da coluna de incremento automático para que a identidade do primeiro registro inserido na tabela comece com um número específico.

No MySQL, você pode redefinir valores de incremento automático de várias maneiras.

Exemplos de valores de incremento automático de redefinição do MySQL

Primeiro, crie uma tabela chamada itemse atribua o  AUTO_INCREMENTatributo à  id  coluna de chave primária.

CREATE TABLE items (
  id INT AUTO_INCREMENT,
  name VARCHAR(45) NOT NULL,
  PRIMARY KEY (id)
);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Segundo, insira alguns dados de amostra na items  tabela:

INSERT INTO items(name)
VALUES('Item 1'),
      ('Item 2'),
      ('Item 3');Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Terceiro, consulte a items  tabela para verificar a operação de inserção:

SELECT * FROM items;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+----+--------+
| id | name   |
+----+--------+
|  1 | Item 1 |
|  2 | Item 2 |
|  3 | Item 3 |
+----+--------+
3 rows in set (0.00 sec)Linguagem de código:  JavaScript  ( javascript )

Temos três linhas com valores das colunas de ID 1, 2 e 3. Perfeito! É hora de praticar a redefinição do valor de incremento automático da coluna ID.

1) Usando a instrução ALTER TABLE

Você pode redefinir o valor do incremento automático usando a ALTER TABLEinstrução. A sintaxe da ALTER TABLE  instrução para redefinir o valor do incremento automático é a seguinte:

ALTER TABLE table_name 
AUTO_INCREMENT = value;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe, você especifica o nome da tabela após a ALTER TABLEcláusula e a valuequal deseja redefinir na expressão AUTO_INCREMENT=value.

Observe que valuedeve ser maior ou igual ao valor máximo atual da coluna de incremento automático.

Primeiro, exclua o último registro da itemstabela com id valor 3:

DELETE FROM items
WHERE id = 3;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Se você inserir uma nova linha, o MySQL atribuirá 4 à  idcoluna da nova linha. No entanto, você pode redefinir o número gerado pelo MySQL para 3.

Segundo, redefina o valor do incremento automático para 3 usando a ALTER TABLE  instrução:

ALTER TABLE items AUTO_INCREMENT = 3;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Terceiro, insira uma nova linha na itemstabela:

INSERT INTO items(name)
VALUES ('Items 4');Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Por fim, recupere os dados da tabela de itens:

SELECT * FROM items;

Saída:

+----+---------+
| id | name    |
+----+---------+
|  1 | Item 1  |
|  2 | Item 2  |
|  3 | Items 4 |
+----+---------+
3 rows in set (0.00 sec)Linguagem de código:  JavaScript  ( javascript )

Temos três linhas com o último valor de incremento automático sendo 3 em vez de 4, que é o que esperávamos.

2) Usando a instrução TRUNCATE TABLE

A instrução TRUNCATE TABLE remove todos os dados de uma tabela e redefine o valor do incremento automático para zero.

O seguinte ilustra a sintaxe da TRUNCATE TABLE  instrução:

TRUNCATE TABLE table_name;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Ao usar a TRUNCATE TABLE  instrução, você exclui todos os dados da tabela permanentemente e redefine o valor do incremento automático para zero.

Por exemplo:

TRUNCATE TABLE items;

3) Usando instruções DROP TABLE e CREATE TABLE

Você pode usar um par de instruções: DROP TABLE e CREATE TABLE para redefinir a coluna de incremento automático. Observe que este método exclui todos os dados da tabela permanentemente.

Assim como a TRUNCATE TABLE  instrução, essas instruções eliminam a tabela e a recriam, portanto, o valor do incremento automático é zerado. Por exemplo:

DROP TABLE items;

CREATE TABLE items (
  id INT AUTO_INCREMENT,
  name VARCHAR(45) NOT NULL,
  PRIMARY KEY (id)
);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste tutorial, você aprendeu vários métodos para redefinir valores de incremento automático no MySQL. A ALTER TABLE AUTO_INCREMENT = valueafirmação é preferível porque é a mais fácil e não tem efeitos colaterais.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *