Nic*_*kOS 5 php sql orm symfony doctrine-orm
如何使用注释设置自动增量ID的起始值?
我希望它从250000开始
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
protected $id;
Run Code Online (Sandbox Code Playgroud)
dlp*_*r98 12
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="SEQUENCE")
* @ORM\SequenceGenerator(sequenceName="id", initialValue=250000)
* @ORM\Column(type="integer")
*/
protected $id;
Run Code Online (Sandbox Code Playgroud)
http://doctrine-orm.readthedocs.org/en/latest/reference/basic-mapping.html
小智 7
在 MySQL 平台上,我写了 ( @ORM\Table(options={"auto_increment": 12345})) 将“AUTO_INCREMENT = 12345”添加到 SQL 创建表中。我没有使用@ORM\SequenceGenerator:
/*
* @ORM\Table(options={"auto_increment": 12345})
*/
class MyEntity {
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
// Others properties
}
Run Code Online (Sandbox Code Playgroud)
在迁移文件中:
$this->addSql('CREATE TABLE my_entity (id INT AUTO_INCREMENT NOT NULL, ...) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB AUTO_INCREMENT = 12345');
Run Code Online (Sandbox Code Playgroud)
不知道这个答案对用户有用与否。但是对我来说,它给出了所需的结果(对于 mysql 的 docrtine),我使用了通常使用的自动增量 id,
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
Run Code Online (Sandbox Code Playgroud)
第一次运行命令来更新而不是表将创建。比您应该手动运行以下命令来设置自定义初始自动增量 ID
ALTER TABLE users AUTO_INCREMENT=1001;
Run Code Online (Sandbox Code Playgroud)
同样在运行模式时,它不会更新手动设置的自动增量。就是这样!!它想要的结果。