Обучение/Помощь новичкам | Выбрать 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 существует, если существует перегенировать не останавливая работу скрипта и вставить новый свободный в бд