Здравствуйте! ПОдскажите, пожалуйста, как в 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.
Заранее спасибо!
Что происходит?
Аннотация @ORM\SequenceGenerator
имеет эффект только при использовании вместе с:
/**
* @ORM\GeneratedValue(strategy="SEQUENCE")
*/
Вы же используете:
/**
* @ORM\GeneratedValue(strategy="AUTO")
*/
что делает аннотацию @ORM\SequenceGenerator
бесполезной.
Сразу хочу отметить, что MySQL не поддерживает последовательностей, а значит вы не сможете использовать strategy="SEQUENCE"
с этой базой данных.
Что делать?
Правильнее всего было отказаться от идеи начинать идентификаторы с нуля. Строго говоря, id = 0
лишен смысла (как, впрочем, и id = -1
).
Если очень хочется, вы можете задать начальное значение auto_increment
в ручную:
ALTER TABLE something AUTO_INCREMENT = 0;
Чтобы это работало, вам так же придется задать режим NO_AUTO_VALUE_ON_ZERO
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как средствами Android изменить скорость видео MediaPlayer?