@mr-labsder

Как присвоить следующий следующий номер в БД mysql?

Вношу новую строку в бд но id присвается не следующий, а почему другой.
function write_database($mail = null, $pass = null)
{
	global $host, $user, $pass, $name;
	try {	

		//	Подключение к БД
		$link = new PDO('mysql:host='.$host.';dbname='.$name, $user, $pass);
		$result = $link->prepare('INSERT INTO `sitedb` (`mail`, `password`) values (:mail, :password)');

		if (isset($mail) && isset($pass)) {
			
		//	Запись данных в БД
    		$result->execute([
    			'mail' => $mail, 
    			'password' => $pass,
    		]);
		}
		unset($result);

		//	Закрытие соединения с БД
		$link = null;
	} catch (PDOException $e) {
	    echo 'No connection.';
	    die();
	}
}

присваевается например 15, 16. Я удаляю строки, заного добавляю а он уже пишет 17, 18. Как исправить?

И еще вопрос как проверчить что такой mail уже есть в базе?
  • Вопрос задан
  • 201 просмотр
Решения вопроса 1
gobananas
@gobananas
finishhim.ru
Так и должно быть. Номера потворно никогда не используются. Вот вы mr-labsder решили отправить деньги мне, а я взял и удалился из системы, или админ меня удалил, у меня был номер 16. Так деньги никому не придут и вернутся вам, т.к. id 16 не существует теперь, а в противном случае на id 16 стал бы другой участник и деньги попали к нему бы и все думали бы что всё нормально, так и надо.

Или другой пример. У вас есть ИНН 12 цифр, вот представьте себе что кто-то умер (во всём государстве), и что у вас теперь ИНН должен уменьшится на 1? Так он так 1000 раз в день бы менялся ))))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы