Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida No Insert


Luckxander

Pergunta

Tenho uma pequena tabela que faço povoamento usando php.

A sintaxe para inserir a tabela é:

$sql="INSERT INTO phpbb_amigos(amigo,username) VALUES('$amigo','$username');"

Acontece que preciso criar um insert onde não seja possível repetir o valor do campo 'amigo' para cada usuário, ou seja, se o valor do campo amigo já existir para aquele usuário, ele não grava.

ALGUÉM PODE ME AJUDAR ?

Vejam o backup da tabela:

--

-- Estrutura da tabela `phpbb_amigos`

--

CREATE TABLE `phpbb_amigos` (

`codigo` int(11) NOT NULL auto_increment,

`username` varchar(25) NOT NULL,

`amigo` varchar(25) NOT NULL,

PRIMARY KEY (`codigo`),

KEY `username` (`username`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=15 ;

--

-- Extraindo dados da tabela `phpbb_amigos`

--

INSERT INTO `phpbb_amigos` (`codigo`, `username`, `amigo`) VALUES

(1, 'admin', 'teste1'),

(5, 'teste1', 'admin'),

(7, 'teste1', 'teste2'),

(8, 'teste1', 'teste3'),

(12, 'admin', 'teste2'), >>>>> aqui repetiu o valor do campo amigo para o mesmo usuário, isso não pode acontecer

(13, 'admin', 'teste2'), >>>>> aqui repetiu o valor do campo amigo para o mesmo usuário, isso não pode acontecer

(14, 'admin', 'teste2'); >>>>> aqui repetiu o valor do campo amigo para o mesmo usuário, isso não pode acontecer

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Faz o seguinte... Antes de executar o INSERT você primeiro verifica se já existe algum cadastro com as informações que você vai inserir.

Vou fazer um exemplo:

$sql_verifica = "SELECT * FROM `phpbb_amigos` WHERE `amigo` = '$amigo' AND `username` = '$username'";
$result_verifica = mysql_query($sql_verifica)or die(mysql_error());

//se a consulta acima não obter nenhum resultado, então faz o insert na tabela
if(mysql_num_rows($result_verifica) == 0)
{
    /*aqui faz o insert na tabela
    $sql="INSERT INTO phpbb_amigos(amigo,username) VALUES('$amigo','$username');"
    ...
    */
   
}

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...