diogoleter Postado Setembro 21, 2008 Denunciar Share Postado Setembro 21, 2008 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 More sharing options...
0 Denis Courcy Postado Outubro 1, 2008 Denunciar Share Postado Outubro 1, 2008 Oi 'diogoleter'Não sei como fazer em PHP. Mas, se você estiver usando a engine InnoDB, utilize os comandosSTART TRANSACTION, COMMIT e ROLLBACKVer manual do MySQL versão 4.1 (tradução em português) 6.7.1. Sintaxe de START TRANSACTION, COMMIT eROLLBACK.Ou toda a transação faz commit ou toda a transação faz rollback. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
diogoleter
Tenho que inserir vários registros em uma mesma tabela. Para isso tenho o seguinte código:
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