Eftersom dessa två infogningar exekveras oberoende, kan ett annat program som körs samtidigt se databasen i ett tillstånd där den första infogningen är klar men den andra inte.
Om detta är ett problem eller inte beror på applikationslogiken. I ditt fall är det svårt att säga utan ytterligare information. Antagligen inte. En finansiell transaktion som involverar två konton är ett exempel där detta är ett problem:du vill inte att summan av alla kontosaldon ska vara fel när som helst.
Om du tror att du behöver detta kan du göra operationen atomär till priset av prestanda:ett annat program kommer antingen att se databasen före den första infogningen eller efter den andra infogningen. Det fungerar så här:
$result = FALSE;
if (mysql_query('BEGIN')) {
if (mysql_query($query1) &&
mysql_query($query2))
$result = mysql_query('COMMIT'); // both queries looked OK, save
else
mysql_query('ROLLBACK'); // problems with queries, no changes
}
Lagringsmotorn måste stödja transaktioner, dvs. den måste vara InnoDB . Annars kommer detta inte att fungera i tysthet.