MySQL To DerbyDB

De BIS Wiki
Revisão de 17h00min de 3 de maio de 2015 por Rodrigogml (discussão | contribs) (Criou página com 'Este tópico sintetiza as diferenças de comandos e outros detalhes entre o MySQL e o DerbyDB (JavaDB). O principal propósito é criar um guia de referência para facilitar a...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Este tópico sintetiza as diferenças de comandos e outros detalhes entre o MySQL e o DerbyDB (JavaDB). O principal propósito é criar um guia de referência para facilitar a migração entre os bancos já que o modelo é todo feito no MySQL Workbench (que utiliza o MySQL como referência), e algumas aplicações como o BISPDV utiliza o DerbyDB como banco local.

Diferenças de Syntaxe SQL

Nomes de Tabelas e Campos

O MySQL costuma envolver o nome de colunas, tabelas e schemas entre crases (´´), como se fossem aspas. O que o impede de confundir as tabelas/colunas com palavras da sintaxe como "index", "update", "from", etc.. O Derby não suporta as crases, sendo obrigatória e remoção de todas. Assim não resta outra maneira além de não utilizar palavras reservadas da sintaxe SQL como nome de tabelas e colunas.

MySQL DerbyDB
CREATE TABLE `pdvlocal_locationcountry` (...) CREATE TABLE pdvlocal_locationcountry (...)

Auto Increment

MySQL DerbyDB
AUTO_INCREMENT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)

Null / Not Null

O DerbyDB não suporta a sintaxe "NULL" como o MySQL. Por padrão o DerbyDB já tem os campos NULL, assim quando o campo aceitar NULL não se deve especificar.

MySQL DerbyDB
`bacencode` VARCHAR(5) NULL bacencode VARCHAR(5)
`bacencode` VARCHAR(5) NOT NULL bacencode VARCHAR(5) NOT NULL