问题说这一切都在想:-) 执行查询的最佳方法是:
ALTER TABLE tablename AUTO_INCREMENT = 1;
使用Doctrine?
答案 0 :(得分:2)
你必须在PHP中正常执行查询,因为这不是Doctrine所支持的。
请注意,如果您运行ALTER TABLE tablename AUTO_INCREMENT = 1;
,那么下一个值将是当前表中最高的值+ 1.如果表中已有记录,则不会将值显式设置为1.
答案 1 :(得分:0)
您是否试图操纵表格的自动增量值?如果你想这样做,你可以做
SET @@auto_increment_increment=10;
请记住,这是一个影响所有表的系统范围变量。
一般来说,我不鼓励你操纵主键(我只是假设thsi)的生成方式。
如果您需要提供自定义值,例如i * 10,您可以编写一个触发器/函数来完成工作或更轻松,您可以创建一个视图,为您提供最后插入的ID(例如150)并将你的价值(例如10)添加到它,这样你就可以获得160.
学说本身不支持这个(据我所知),这在我看来很好。如果你需要为主键设置不同的增量,例如PostgreSWL和Oracale就可以这样做,因为它们使用序列来生成可由dev操作的键