posso realizar esse exercício de chave primaria e chave estrangeira no sqlliteonline ?
quando executo o comando :
ALTER TABLE CLIENTE ADD CONSTRAINT CLIENTE_ID_PK PRIMARY KEY (id);
apresenta erro de sintaxe.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
posso realizar esse exercício de chave primaria e chave estrangeira no sqlliteonline ?
quando executo o comando :
ALTER TABLE CLIENTE ADD CONSTRAINT CLIENTE_ID_PK PRIMARY KEY (id);
apresenta erro de sintaxe.
Oi Thais, tudo bem?
Você pode sim realizar exercícios de criação de chaves primárias e estrangeiras no SQLite Online, mas apenas destaco que o SQLite possui algumas diferenças em relação ao Oracle SQL. Uma dessas diferenças é que o SQLite tem um suporte limitado para o comando ALTER TABLE em comparação com o Oracle.
No SQLite, você não pode adicionar uma chave primária a uma tabela existente usando ALTER TABLE. A chave primária deve ser definida no momento da criação da tabela. Então, para definir uma chave primária no SQLite, você precisaria criar a tabela já com a chave primária
CREATE TABLE CLIENTE (
ID INTEGER PRIMARY KEY,
RAZAO_SOCIAL TEXT,
CNPJ TEXT,
SEGMERCADO_ID INTEGER,
DATA_INCLUSAO DATE,
FATURAMENTO_PREVISTO NUMERIC(10,2),
CATEGORIA TEXT
);
Se você deseja apenas alterar a tabela diretamente, infelizmente, a única solução viável no SQLite é recriar a tabela como já exemplificado. Não há suporte para modificar a chave primária de uma tabela já existente via ALTER TABLE.
Portanto, recomendo excluir a tabela com o comando:
DROP TABLE CLIENTE;
E executar o comando de criação já com a PRIMARY KEY.
Espero ter ajudado.
Qualquer dúvida, não hesite em compartilhar no fórum.
Abraços e bons estudos!