Задать вопрос
@saniii

Правка таблицы в БД (MySQL) одновременно несколькими пользователями?

Объясните как решаются проблемы с одновременной записью в одну таблицу несколькими пользователями и вот что интересует:
1. Есть несколько PHP скриптов которые обращаются к таблице MySQL одновременно (учетка у скриптов одна на всех, скажем user). Будут ли коректно записываться данные если это разные строки, один скрипт правит строку с id 1, а второй с id 2?

2. Та же ситуация: несколько PHP скриптов которые обращаются к таблице MySQL одновременно, но правят одну строку. Правка заключается в прибавлении к существующему числу другого. Как в данном случае быть?

3. Есть таблица суточных отчетов, если дата изменилась во время выполнения скрипта то он создает новую строку с новой датой. Как быть чтобы скрипты не конфликтовали в данном случае?
  • Вопрос задан
  • 474 просмотра
Подписаться 1 Простой Комментировать
Решение пользователя deepblack К ответам на вопрос (2)
deepblack
@deepblack
1. будут корректно обработаны
2. Посмотрите тут
3. Непонятно что вы имеете ввиду.

upd:
3. 2 скрипта однавременно (возможно) пытаются создать новыую запись с одинаковой датой(уникальное значение это дата), как этого избежать?

CREATE TABLE playground (
    id serial PRIMARY KEY,
    install_date date UNIQUE,
    type varchar (50) NOT NULL
);

INSERT INTO playground (install_date, type) VALUES ('2019-11-06', 'action');


А теперь попробуй несколько раз выполнить INSERT с этими данными, и сравни результат между попытками.
Ответ написан