Symfony 3, установить id = 0

274
19 мая 2017, 14:44

Здравствуйте! ПОдскажите, пожалуйста, как в Symfony 3, установить id чтобв он начинался с нуля.

Сейчас в Entity классе написано так:

/**
 * @var int
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\SequenceGenerator(sequenceName="id", initialValue=0)
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

и id начинается с 1, а нужно с 0.

Заранее спасибо!

Answer 1

Что происходит?

Аннотация @ORM\SequenceGenerator имеет эффект только при использовании вместе с:

/**
 * @ORM\GeneratedValue(strategy="SEQUENCE")
 */

Вы же используете:

/**
 * @ORM\GeneratedValue(strategy="AUTO")
 */

что делает аннотацию @ORM\SequenceGenerator бесполезной.

Сразу хочу отметить, что MySQL не поддерживает последовательностей, а значит вы не сможете использовать strategy="SEQUENCE" с этой базой данных.

Что делать?

  1. Правильнее всего было отказаться от идеи начинать идентификаторы с нуля. Строго говоря, id = 0 лишен смысла (как, впрочем, и id = -1).

  2. Если очень хочется, вы можете задать начальное значение auto_increment в ручную:

    ALTER TABLE something AUTO_INCREMENT = 0;

    Чтобы это работало, вам так же придется задать режим NO_AUTO_VALUE_ON_ZERO.

READ ALSO
INSERT запрос без VALUES

INSERT запрос без VALUES

Привет всемВот вопрос, который я имел в виду (не для SET):

219
Как средствами Android изменить скорость видео MediaPlayer?

Как средствами Android изменить скорость видео MediaPlayer?

Как средствами Android изменить скорость видео MediaPlayer?

240
Как получить URL изображения?

Как получить URL изображения?

Безуспешно пробую получить src следующими способом:

213
Spring Security некорректно работает RememberMe

Spring Security некорректно работает RememberMe

ЗдравствуйтеНекорректно работает RememberMe

313