Существует таблица с множеством столбцов и столбцом первичного ключа 'id', имеющим атрибут автоинкремента.
База данных mySQL.
Существует два вида кода PHP, которые вставляются в этот столбец.
1.) Обычные запросы вставки создаются в виде строки и выполняются путем подключения ADO к базе данных. В этом случае значение первичного ключа не указывается, поэтому в нем используется значение автоинкремента таблицы.
2.) Существует класс сущностей доктрины php symfony с основным полем, объявленным как
/**
* @var int
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
*/
private $id;
Вставка использует метод персистента менеджера сущностей.
Здесь при вставке явно указывается значение идентификатора , что намного больше значения автоинкремента столбца. Вот почему Generation_Type опускается в аннотациях.
Теперь предположим, что текущее значение auto_increment равно 10000.
Я хочу, чтобы при выполнении первого сценария следующий идентификатор принимался за 1001, что ожидается.
Но в случае выполнения второго сценария с явным id = 2000, он вставляет запись с 2000, но не изменяет auto_increment на 2000. Он все равно должен оставаться на 1001.
Нужно ли вносить изменения в этот фрагмент кода?
$this->em->persist(obj);
Заранее спасибо.