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

Integridade ao inserir no banco de dados MySQL


diogoleter

Pergunta

Tenho que inserir vários registros em uma mesma tabela. Para isso tenho o seguinte código:

$sql_part1="INSERT INTO registros (subcodigo, nome, data) VALUES (".$subcodigo1.", ".$nome1.", NOW());";
$sql_part2="INSERT INTO registros (subcodigo, nome, data) VALUES (".$subcodigo2.", ".$nome2.", NOW());";

if(mysql_query($sql_part1) && mysql_query($sql_part2)) 
    echo "1";
else 
    echo mysql_error();

Como faço para manter a total integridade dessa inserção. Ex.: Se a primeira query dá certo, então passa para o segundo, mas se o segundo der errado?

Ou insere tudo ou não insere nada, isso (aqui) é necessário para manter a integridade das consultas.

Qual seria o modo correto?

Obrigado!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Oi 'diogoleter'

Não sei como fazer em PHP. Mas, se você estiver usando a engine InnoDB, utilize os comandos

START TRANSACTION, COMMIT e ROLLBACK

Ver manual do MySQL versão 4.1 (tradução em português) 6.7.1. Sintaxe de START TRANSACTION, COMMIT e

ROLLBACK.

Ou toda a transação faz commit ou toda a transação faz rollback.

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
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...