Задать вопрос
  • Как избежать race condition при вставки новой записи в бд SQL, PHP?

    ctoburningmvp
    @ctoburningmvp
    ALTER TABLE rating ADD UNIQUE (`sign_ts`, `post_id`, `user_id`);


    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    try {
        $stmt = $dbh->prepare("INSERT IGNORE INTO `rating` (`count`, `post_id`, `user_id`, `sign_ts`, `date`) VALUES ('4', '1', '1', :sign_ts, CURRENT_TIMESTAMP)");
        $stmt->execute([':sign_ts' => $id]);
    
        if ($stmt->rowCount() > 0) {
            echo "Запись вставлена";
        } else {
            echo "Запись уже существует";
        }
    } catch (Exception $e) {
        echo "Ошибка: " . $e->getMessage();
    }
    Написано
  • Стоит ли создавать общую БД для хранения информации о всех пользователях?

    ctoburningmvp
    @ctoburningmvp
    Грамотно ли создать 1 БД для хранения всех заметок и одну БД для хранения всех пользователей, связав их между собой по id?


    При определенных требованиях - да, это будет грамотно. Грамотно может быть даже разбить разные аккаунты в разные базы. Но раз ты задаешься подобным вопросом без деталей, которые могут быть важны для data-intensive applications - нет, храни все в одной базе, в разных таблицах.
    Написано