Обучение/Помощь новичкам | Блокировка БД
А что бы выбрал(а) ты? (Открытое голосование)
lastInsertId() (1 чел. - 100 %)
LOCK TABLES (0 чел. - 0 %)
Всего проголосовало: 1 чел.
Это не тоже самое, ты берешь из всей таблицы записи, а в случае с функцией, тебе вернется ид самой записи и не важно, были записи или нет
https://ru.stackoverflow.com/questions/453648/Какой-id-верн...nsertid-из-pdo
Ты не только про блокировку спрашивал
Я ответила оптимальный вариант для получения ид
Зачем блокировать всю таблицу?
________
посл. ред. 16.08.2023 в 15:42; всего 1 раз(а); by Something
А почему бы не забрать id до того как задержки начнут быть?🤔
А почему бы не забрать id до того как задержки начнут быть?🤔
Вобшем пока на распутье, нужны еще мнения профессионалов
Вобшем пока на распутье, нужны еще мнения профессионалов
Если и влезет, у тебя в id бд AI, id будет в любом случае уникальный
Лучший ответ
Это понятно. Дело в том что мне нужна запись, которая добавлена именно этим клиентом, а не последняя
lastInsertId Это и делает, от твоего текущего объекта pdo
Это понятно. Дело в том что мне нужна запись, которая добавлена именно этим клиентом, а не последняя
напиши обёртку, которая реализует паттерн Active Record, суть паттерна в том, что мы используем модели, содержащие свойства, соответствующие столбцам таблиц, при запросах из этих моделей создаются объекты содержащие данные таблиц, совершая запрос INSERT мы создаём объект, в котором всё уже заполнено, выполнять запрос SELECT уже не требуется
работает это примерно так
а так-то #2 - lastInsertId
________
посл. ред. 17.08.2023 в 12:26; всего 3 раз(а); by Вилы Выкидные
работает это примерно так
php
class User {
public $id;
public $login;
}
$user = new User(); // создали объект модели User, это и есть наша новая строка
var_dump($user); // object User: public $id = null, public $login = null
$user->save(); // сохранили, это запрос INSERT, потому что свойство id = null, теперь id = 1
var_dump($user); // object User: public $id = 1, public $login = null
$user->login = 'Test';
$user->save(); // если сделаем так, то это запрос UPDATE, так как свойство id не null, оно 1, то есть такая запись в БД есть
var_dump($user); // object User: public $id = 1, public $login = Testа так-то #2 - lastInsertId
________
посл. ред. 17.08.2023 в 12:26; всего 3 раз(а); by Вилы Выкидные
Стр.: 1, 2