Лучший способ сохранения информации инвентаризации персонажей в MySQL? - PullRequest
1 голос
/ 02 января 2012

В настоящее время, когда мой сервер отправляется на хранение информации о персонаже, он удаляет все записи их предметов, а затем использует INSERT INTO для ввода предметов с их новым количеством / stats / etc ..

Это прекрасно работает большую часть времени, кроме как в повседневных ситуациях.Что недавно испытал игрок, так это то, что его инвентарь полностью лишен предметов, так как сервер упал сразу после удаления своих предметов, но у него не было возможности повторно сохранить упомянутые предметы.Как лучше сохранить эту информацию, чтобы никто не потерял свои вещи снова?

1 Ответ

1 голос
/ 02 января 2012

Рассмотрите возможность использования транзакций. Делайте удаления и вставки внутри транзакции. Это обеспечит согласованность: вся транзакция будет выполнена или не выполнена в случае необходимости.

MySQL поддерживает транзакции для таблиц InnoDB и BDB, но не для таблиц MyISAM. Поэтому вы должны использовать правильный движок базы данных.

...