Re: Multiple Inserts with mySQL
| From: | Adam Voigt | Date: | Thu, 14 Nov 2002 16:31:31 +0000 |
| Subject: | Re: Multiple Inserts with mySQL | ||
| References: | 1 2 3 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-23344@lists.php.net to get a copy of this message | ||
10 Seconds searching in the MySQL Manual:
http://www.mysql.com/doc/en/ANSI_diff_Transactions.html
You have to use InnoDB tables, but this will work.
On Thu, 2002-11-14 at 11:26, Anthony wrote:
> hmm, I guess that would work. There is no way to have mySQL check for
> integrity for me is there? I read in a SQL book a while ago about
> wrapping multiple inserts in a select statement, that way if any part of
> the statement failed the whole thing would be rolled back. From my
> research though, it doesn't look like mySQL supports this. Am I right
> here? So far it looks like your idea could be the most reliable
> suggestions I've gotten, so I'll start working on that for now. Thanks.
>
> - Anthony
>
> Peter Beckman wrote:
> > Try this:
> >
> > $stack is an array of hashes:
> >
> > $stack[0] = array(0=>tablename, 1=>insertid());
> >
> > For each insert you do, push an anonymous array on $stack which includes
> > the tablename and insertid of the insert.
> >
> > Then as you continue your inserts, if any of them fail, call a function
> > which takes that array $stack, and iterate through it, deleting the rows
> > you just inserted. (see mysql_insert_id() function to get the insert ID)
> >
> > If none of them do fail, then you are in the clear. Either unset $stack or
> > ignore it.
> >
> > Peter
> >
> > On Wed, 13 Nov 2002, Anthony wrote:
> >
> >
> >>I have to drop a lot of data into mySQL from PHP. It will go into quite
> >>a few different tables. How can I maintain integrity of the entire
> >>insert? I need to do about a dozen inserts on four tables and I need to
> >>insure that all the inserts are successful or that none of them get
> >>done. I'm sort of new at this, so please help me out. Thanks.
> >>
> >>- Anthony
> >>
> >>
> >>--
> >>PHP Database Mailing List (http://www.php.net/)
> >>To unsubscribe, visit: http://www.php.net/unsub.php
> >>
> >
> >
> > ---------------------------------------------------------------------------
> > Peter Beckman Systems Engineer, Fairfax Cable Access Corporation
> > beckman@purplecow.com
> > http://www.purplecow.com/
> > ---------------------------------------------------------------------------
> >
>
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
--
Adam Voigt (adam@cryptocomm.com)
The Cryptocomm Group
My GPG Key: http://64.238.252.49:8080/adam_at_cryptocomm.asc
Attachment: [application/pgp-signature] This is a digitally signed message part signature.asc
Attachment: [application/pgp-signature] This is a digitally signed message part signature.asc