Jump to content
Fórum Script Brasil
  • 0

Dúvida No Insert


Luckxander
 Share

Question

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 to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.4k
×
×
  • Create New...