簡體   English   中英

如何使用Doctrine更改mysql表的auto_increment

[英]How to alter the auto_increment of a mysql-table using Doctrine

該問題說明了所有問題:-)執行查詢的最佳方法是什么,例如:

ALTER TABLE tablename AUTO_INCREMENT = 1;

使用主義?

恐怕您只需要在PHP內正常執行查詢,因為Doctrine不支持該查詢。

請注意,如果您運行ALTER TABLE tablename AUTO_INCREMENT = 1; 那么下一個值將是表中當前的最高值+1。如果表中已經有記錄,則無需將其顯式設置為1。

您是否要操縱表的自動增量值? 如果您想這樣做,可以

SET @@auto_increment_increment=10;

請記住,這是一個系統范圍的變量,將影響所有表。

通常,我不鼓勵您操縱主鍵(我只是假設)的生成方式。

如果您需要給定一個自定義值,例如i * 10,則可以編寫執行此任務的觸發器/函數,或者編寫一個更簡單的觸發器/函數,可以創建一個為您提供最后插入的ID(例如150)並添加您的ID的視圖值(例如10),則可以得到160。

據我所知,教義本身並不支持這一點,我認為這很好。 如果您需要為主鍵設置不同的增量,例如PostgreSWL和Oracale可以這樣做,因為它們使用序列來生成可以由開發人員操縱的鍵

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM