Pular para o conteúdo principal

Questão de Banco de Dados — MySQL — FUNDATEC 2025

Banco de DadosMySQL
Código
qg475055
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2025
Nível
Superior
Cargo
Analista em Computação/Ênfase em Suporte em Banco de Dados
No MySQL 8, qual instrução reinicia automaticamente o contador AUTO_INCREMENT de uma tabela InnoDB para o valor inicial sem que seja preciso especificar manualmente um novo valor?
  1. ADELETE FROM t;
  2. BRENAME TABLE t TO t_old;
  3. CALTER TABLE t AUTO_INCREMENT = 1;
  4. DTRUNCATE TABLE t;
  5. EOPTIMIZE TABLE t;
Revelar gabarito e comentário

GabaritoD — TRUNCATE TABLE t;

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

MySQL – Comandos de exclusão e AUTO_INCREMENT

Gabarito: letra D. O comando TRUNCATE TABLE t reinicia automaticamente o contador AUTO_INCREMENT para o valor inicial (geralmente 1) em tabelas InnoDB, pois recria a estrutura da tabela do zero. Diferentemente, DELETE FROM t apenas remove as linhas sem resetar o contador, e ALTER TABLE t AUTO_INCREMENT = 1 exige especificação manual do valor, não sendo automático.

  1. 1DELETE FROM tRemove linhas
  2. 2RENAME TABLESó renomeia
  3. 3ALTER TABLE ... = 1Manual
  4. 4TRUNCATE TABLE tRecria a tabela
  5. 5OPTIMIZE TABLEReorganiza
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

DELETE FROM t remove todas as linhas da tabela, mas não reinicia o contador AUTO_INCREMENT. O próximo registro inserido continuará a partir do último valor utilizado. A banca testa aqui a confusão entre exclusão de dados e reset do auto incremento.

Alternativa B — ❌ Incorreta

RENAME TABLE t TO t_old apenas renomeia a tabela; não altera os dados nem o contador AUTO_INCREMENT. O valor do contador permanece o mesmo.

Alternativa C — ❌ Incorreta

ALTER TABLE t AUTO_INCREMENT = 1 realmente define o próximo valor do contador como 1, mas exige que o administrador especifique manualmente o valor (no caso, 1). A questão pede uma instrução que faça isso automaticamente, sem especificação manual, o que não é o caso.

Alternativa D — ✅ Correta ⟵ GABARITO

TRUNCATE TABLE t recria a tabela (descarta e recria), o que zera o contador AUTO_INCREMENT para seu valor inicial. Esse comportamento é automático e não requer a indicação de um novo valor. É a instrução clássica para resetar o auto incremento em tabelas InnoDB.

Alternativa E — ❌ Incorreta

OPTIMIZE TABLE t reorganiza o armazenamento físico da tabela e pode liberar espaço, mas não reinicia o contador AUTO_INCREMENT. Seu objetivo é otimizar a performance, não resetar sequências.

NÃO CAIA NESSA!

A banca coloca a alternativa C (ALTER TABLE ... AUTO_INCREMENT = 1) como um distrator forte, pois muitos candidatos sabem que ALTER TABLE pode definir o auto incremento, mas esquecem que a questão exige automaticidade (sem especificar manualmente). O TRUNCATE faz isso de forma implícita.

Gabarito: letra D.

Link permanente: /questoes/qg475055