segunda-feira, 6 de abril de 2009

Tabelas com chaves do tipo UNIQUE, inserindo e alterando com a sintaxe REPLACE (sql)

Melhor forma de inserir e alterar uma tabela que possui chave do tipo UNIQUE no banco da dados:

Bom, partindo do príncipio de que uma tabela com chave única, nunca vai ter mais de uma linha, porque ela tem uma única chave primária...então não precisamos fazer um baita código usando janelas diferentes para incluir dados e outra para alterar...

A única coisa a fazer é usar uma query que faça inserção para no caso de ainda não existirem registros na tabela e que também faça a substituição dos registros existentes.

Criamos a seguinte tabela de chave do tipo UNIQUE.

CREATE TABLE IF NOT EXISTS `composicao` (
`id_comp` int( 1 ) NOT NULL ,
`coordenador` varchar( 255 ) NOT NULL ,
`vice` varchar( 255 ) default NULL ,
`membro1` varchar( 255 ) default NULL ,
UNIQUE KEY `id_comp` ( `id_comp` )
)

Agora inserindo dados ou alterando:

$query=("REPLACE INTO composicao SET
coordenador='".($_POST["form_coordenador"])."',
vice='".($_POST["form_vice"])."',
membro1='".($_POST["form_membro1"])."'");


Está feito: Se o registro existe, ele vai ser substituído e se a tabela ainda estiver vazia, vai ser preenchida.

É básico, mas as vezes não é lembrado...

Namastê