Обучение/Помощь новичкам | Выбрать id
Тема закрыта by
SNEG
Закрепленное сообщение:Автор
просто insert into, он не пройдет, потому что, такой ид в бд есть, если ты пометишь колонку в бд primary key
Вопрос стоит в том как while выполнить чтобы без ошибок ?
________
посл. ред. 06.09.2023 в 12:31; всего 1 раз(а); by SNEG
________
посл. ред. 06.09.2023 в 12:37; всего 1 раз(а); by SNEG
php
$connection = mysqli_connect($host, $user, $password, $db_name);
if(!$connection){ // проверка правильности подключения
echo 'Ошибка соединения: ' . mysqli_connect_error() . '<br>';
echo 'Код ошибки: ' . mysqli_connect_errno();
}else{ // подключение успешно установлено
// текст SQL запроса, который будет передан базе
$query = 'SELECT * FROM `USERS`';
// выполняем запрос к базе данных
$result = mysqli_query($connection, $query);
if(!$result){ // запрос завершился ошибкой
echo 'Ошибка запроса: ' . mysqli_error($connection) . '<br>';
echo 'Код ошибки: ' . mysqli_errno($connection);
}else{ // запрос успешно выполнился
while($row = $result->fetch_assoc()){
// обрабатываем полученные данные
}
}
// закрываем соединение с базой
mysqli_close($connection);
}Мне не ошибку нужно обработать а 100% получить новый id
А что мешает добавлять к такой записи временную метку и быть точно уверенным в ид ?🤔
А лучше всего если не планируются миллионы записей забить на это и попросить повторить попытку сгенерировав новый ид
А лучше всего если не планируются миллионы записей забить на это и попросить повторить попытку сгенерировав новый ид
А что мешает добавлять к такой записи временную метку и быть точно уверенным в ид ?🤔
А лучше всего если не планируются миллионы записей забить на это и попросить повторить попытку сгенерировав новый ид
________
посл. ред. 06.09.2023 в 12:53; всего 1 раз(а); by SNEG
Вопрос всё ещё актуален , только без а может а давайте добавим а что мешает
________
посл. ред. 06.09.2023 в 13:05; всего 1 раз(а); by SNEG
________
посл. ред. 06.09.2023 в 13:05; всего 1 раз(а); by SNEG
Делаешь "LOCK TABLES users WRITE"
С помощью do-while генеришь id и проверяешь существование его наличие в базе, если есть - генеришь заново, ну ты в курсе как это делается
Делаешь "INSERT..."
Делаешь "UNLOCK TABLES"
________
посл. ред. 06.09.2023 в 13:32; всего 1 раз(а); by Something
С помощью do-while генеришь id и проверяешь существование его наличие в базе, если есть - генеришь заново, ну ты в курсе как это делается
Делаешь "INSERT..."
Делаешь "UNLOCK TABLES"
________
посл. ред. 06.09.2023 в 13:32; всего 1 раз(а); by Something
Мешает , могбы проще каждому id присвоить ai и уникальный ключ а так нужно сгенерировать id самому без всяких а что мешает а давайте добавим, и проверить или такой id существует, если существует перегенировать не останавливая работу скрипта и вставить новый свободный в бд