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.
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!