Вопрос по mysql

1. Дмитрий (29.07.2010 / 23:10)
Вообщем в одном кэйсе надо сделать несколько запросов, но без говнокода как то не получается )) тобишь вот такой велосипед можна оформить попроще?

<?
case 'blabla':
if (mysql_query ("DELETE FROM `garem` WHERE `usid`='$nk'") &&
mysql_query ("INSERT INTO `garem` SET `usid`='$nk', `id`='$id'") &&
mysql_query ("UPDATE `users` SET money=`money`-'$cen2' WHERE `id`='$id'") &&
mysql_query ("UPDATE `users` SET money=`money`+'$cen2' WHERE `id`='".$prov['id']."'")) {
echo 'Успешно';
} else {
echo 'Ошибка!<br/>';
}
break;


2. Вантуз-мен (30.07.2010 / 02:05)
innoDB и транзакции

3. Удаленный (30.07.2010 / 02:08)
Вощето желательно так. Думаю понятно зачем.
<?
case 'blabla':
if(!mysql_query ("DELETE FROM `garem` WHERE `usid`='$nk'") echo mysql_error();
elseif(!mysql_query ("INSERT INTO `garem` SET `usid`='$nk', `id`='$id'") echo mysql_error();
elseif(!mysql_query ("UPDATE `users` SET money=`money`-'$cen2' WHERE `id`='$id'") echo mysql_error();
elseif(!mysql_query ("UPDATE `users` SET money=`money`+'$cen2' WHERE `id`='".$prov['id']."'")) echo mysql_error();
else{
echo 'Успешно';
}
break;


4. Вантуз-мен (30.07.2010 / 02:13)
3. TLENSi, ну и что на последнем update будет ошибка или сбой и получится так что у одного снимут а второй ничего не получит
вообще для важных операций с деньгами нужно использовать тип таблиц InnoDB

5. Олег (30.07.2010 / 03:12)
Да, лучше InnoDB, тогда можно производить откат на уровне MySQL, если же используется MyISAM, то откат предусмотреть на уровне php — каждый запрос выводить в условие

6. Дмитрий (30.07.2010 / 03:47)
Хм что такое InnoDB ?

7. Azzido (30.07.2010 / 05:59)
6. Mr-General, это подсистема MySQL, которая реже используется, чаще всего ты можешь увидеть MyISAM

8. Дмитрий (30.07.2010 / 07:27)
ну MyISAM я видел, а InnoDB впервые слышу

9. Олег (30.07.2010 / 07:51)
Это один из предложенных типов таблиц для хранения данных. На смену MyISAM пришел новый тип хранения данных - Maria, в котром поддершка транзакций — есть

10. Дмитрий (31.07.2010 / 00:01)
О_О неасилил ( придецо юзать старый движек майисам гг

11. Виталий (31.07.2010 / 01:10)
какая разница между типами?

URL: https://visavi.net/topics/12063