重設 PostgreSQL 自增序列
PostgreSQL 不像 MySQL 那樣使用 AUTO_INCREMENT
。相反,它使用序列來管理自動遞增值。 若要重設序列的起始值,您需要識別與表格的自動遞增列關聯的序列名稱。
嘗試使用 ALTER TABLE product AUTO_INCREMENT = 1453
將會失敗,因為 PostgreSQL 無法辨識此語法。 「關係『產品』不存在」的錯誤很常見。
序列名稱通常遵循模式${table_name}_${column_name}_seq
。對於名為「product」且具有「Id」欄位的表,序列將為「product_id_seq」。
將序列重設為從 1453 開始的正確指令是:
<code class="language-sql">ALTER SEQUENCE product_id_seq RESTART WITH 1453;</code>
要找出正確的序列名稱,請使用 d
命令列工具中的 psql
指令。 例如,d product
將顯示表定義,包括任何自動遞增列使用的序列名稱(透過預設約束)。 或者,您可以使用類似 SELECT pg_catalog.pg_get_serial_sequence('product', 'id');
的查詢直接檢索序列名稱。
以上是如何重置 Postgres 自動增量計數器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!