Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Primary Key

Olá,

No exercício do link https://cursos.alura.com.br/course/introducao-a-banco-de-dados-e-sql/task/5685, o comando primary id antes de fechar o parênteses

CREATE TABLE compras (id int NOT NULL AUTO_INCREMENT, valor double, data datetime, observacoes text NOT NULL, recebido tinyint(1) DEFAULT 1, forma_pagto ENUM('DINHEIRO', 'CARTAO', 'BOLETO'), PRIMARY KEY (id));

Até então, o Primary key vinha após o Auto_increment.

CREATE TABLE COMPRAS (ID INT AUTO_INCREMENT PRIMARY KEY, VALOR DOUBLE, DATA DATE, OBSERVACOES VARCHAR(255), RECEBIDO BOOLEAN);

Ambos são equivalentes?

2 respostas
solução!

E aí, Roger!

O que acontece é que no primeiro comando as colunas são criadas e somente depois é definido que id será a primary key. Dessa forma, id fica entre parênteses.

No segundo comando, assim que a coluna ID é criada, já é definida como primary key. Dessa forma, não é necessário colocá-la entre parênteses, pois essa definição está sendo feita em sua criação, diferente do caso anterior.

Portanto, sim, ambos são equivalentes.

Obrigado Rodrigo!