У меня есть таблицаВставки к идентичности атрибутов дает неожиданный результат
MovieInfo
M_ID int idenity
title varchar
yearReleased int
Primary key (title, yearReleased)
Моего файл PHP для вставки значений в таблицу:
try{
$host = new PDO('sqlsrv:server=localhost;Database='.$database, $username, $password);
$movieTitle = $_POST['title'];
$movieYear = $_POST['year'];
$stmt = "INSERT INTO MovieInfo (title, yearReleased) VALUES (:title, :year)";
$q = $host->prepare($stmt);
$q->execute(array(':title'=>$movieTitle, ':year'=>$movieYear));
$host = null;
}
catch(PDOException $e)
{
die('Connect not connect: '.$e->getMessage());
}
Моя таблица заселения хорошо, но M_ID, который получает автоматический обновлено не обновляется постепенно, как 1,2,3,4,5. Вместо этого мои значения для этого столбца равны 1,3,4,6,7,10,11. Мне интересно, если это ожидается или что-то другое. Если я попытаюсь вставить дубликат, он не запускается, что ожидается. Кажется, что M_ID увеличивается каждый раз, даже при неудачных вставках.
Возможно, вы использовали 'AUTO_INCREMENT' и что такое' idenity'? Или это только опечатка для копирования/вставки? –
По дизайну. Идентификаторы Auto increment не откатываются после их потребления. Когда вы заказываете еду, если она плохая, ее больше не обслуживают. (по крайней мере, этого не должно быть), кроме того, если удаляются, в идентификаторе начнут появляться пустоты. Это всего лишь число пустот. – xQbert
Зависит от того, насколько плоха еда! @xQbert, тогда да ... они могли взять это обратно - усмешка –