Доктрина: явное указание значения первичного ключа без изменения автоматического приращения.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Доктрина: явное указание значения первичного ключа без изменения автоматического приращения.

Сообщение Anonymous »

Существует таблица со многими столбцами, а также столбцом первичного ключа 'id', имеющим атрибут автоматического увеличения.
База данных — MySQL.

Существует два типа кода PHP, которые вставляются в этот столбец.
1.) Обычные запросы на вставку создаются как строка и выполняются путем подключения ADO к базе данных. В этом случае значение первичного ключа не предоставляется, поэтому используется значение автоматического увеличения таблицы.

2.) Существует класс сущности доктрины php Symfony с основным полем, объявленным как

Код: Выделить всё

/**
* @var int
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
*/
private $id;
При вставке используется метод persist менеджера сущностей.
Здесь при вставке значение id явно указывается, которое намного превышает значение автоматического приращения столбца. Вот почему Generation_Type опущен в аннотациях.

Теперь предположим, что текущее значение auto_increment равно 10000.
Я хочу, чтобы при выполнении первого сценария следующий идентификатор принимался как 1001, что и ожидалось.
Но в случае выполнения второго сценария с явным идентификатором = 2000 он вставляет запись с 2000, но не меняет auto_increment на 2000. Оно все равно должно оставаться равным 1001.

Нужно ли мне вносить изменения в этот фрагмент кода?

Код: Выделить всё

$this->em->persist(obj);
Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/554 ... uto-increm
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»