Похоже, ваша таблица tracking
должна иметь только одну строку на date
. Есть способ обработать это непосредственно на языке запросов MySQL.
Во-первых, сделайте ваш столбец date
первичным ключом таблицы или создайте для него уникальный индекс. Вы создаете уникальный индекс, как этот.
CREATE UNIQUE INDEX trackdate ON tracking(date);
Затем используйте этот единственный запрос для вставки / обновления.
INSERT INTO tracking (date, amount) VALUES (CURDATE(), 1)
ON DUPLICATE KEY UPDATE amount = amount + 1;
Каждый раз, когда вы выполняете этот запрос, он либо вставляет необходимые или увеличить столбец amount
. И делает это «атомарно», что означает, что если два разных экземпляра программы php попытаются сделать это одновременно, это не запутается.