Тъй като тези две вмъквания се изпълняват независимо, друга програма, която се изпълнява едновременно, може да види базата данни в състояние, в което първото вмъкване е извършено, но второто не.
Дали това е проблем или не зависи от логиката на приложението. Във вашия случай е трудно да се каже без допълнителна информация. Вероятно не. Пример за това е е финансова транзакция, включваща две сметки проблем:не искате сборът от всички салда по сметката да е грешен по всяко време.
Ако смятате, че имате нужда от това, можете да направите операцията атомарна с цената на производителността:друга програма или ще види базата данни преди първото вмъкване, или след второто вмъкване. Работи така:
$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
}
Машината за съхранение трябва да поддържа транзакции, т.е. трябва да е InnoDB . В противен случай това няма да работи безшумно.